http請求過程
- 域名解析
- 發起TCP的三次握手
- 建立TCP連接后發起 http 請求
- 服務器響應 http 請求,返回 HTML 代碼 給瀏覽器
- 瀏覽器解析 HTML 代碼,并請求 HTML 代碼中的資源(css,js,img等)
- 瀏覽器對頁面進行渲染,呈現給用戶
http header ==》請求頭
-
HTTP Headers是HTTP請求和響應的核心,它承載了關于客戶端瀏覽器,請求頁面,服務器等相關的信息。
-
打開瀏覽器調試工具,點開network,刷新后可以看到頁面請求的網絡資源(API,調用方法與返回數據等)
Paste_Image.png - 分析請求頭信息
HEAD: 僅請求響應首部
GET: 完整請求一個資源 (常用)
POST:新增,提交
PUT: 提交修改
DELETE:刪除
使用微信開發者工具
- 對于基于微信的開發項目,一般使用微信開發者工具來進行項目調試。跟google命令行幾乎一致。
- 可以把微信中的網址粘貼到開發者工具中看,就可以調試,并且可以看到 token 等信息【通過微信為入口的項目一般不能直接在瀏覽器打開,會提示在微信客戶端打開】
axios
var instance = axios.create({
baseURL: 'https://some-domain.com/api/',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
{
// `url` 是用于請求的服務器 URL
url: '/user',
// `method` 是創建請求時使用的方法
method: 'get', // 默認是 get
// `baseURL` 將自動加在 `url` 前面,除非 `url` 是一個絕對 URL。
// 它可以通過設置一個 `baseURL` 便于為 axios 實例的方法傳遞相對 URL
baseURL: 'https://some-domain.com/api/',
// `transformRequest` 允許在向服務器發送前,修改請求數據
// 只能用在 'PUT', 'POST' 和 'PATCH' 這幾個請求方法
// 后面數組中的函數必須返回一個字符串,或 ArrayBuffer,或 Stream
transformRequest: [function (data) {
// 對 data 進行任意轉換處理
return data;
}],
// `transformResponse` 在傳遞給 then/catch 前,允許修改響應數據
transformResponse: [function (data) {
// 對 data 進行任意轉換處理
return data;
}],
// `headers` 是即將被發送的自定義請求頭
headers: {'X-Requested-With': 'XMLHttpRequest'},
promise
// 在一個數組的異步調用結束后才執行方法:可以先將創建的promise堆在數組中,在使用promise.all,這能保證一個數組的方法都執行完,拿到結果才下一步操作
var promiseArray = [];
for (var i = 0; i < 10; i++) {
promiseArray.push(createPromise());
}
Promise.all(promiseArray).then(function() {
for (i = 0; i < data.length; i++){
console.log(i);
}
})