<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] <br> ### HTTP 協議介紹 HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是一個屬于`應用層`的面向對象的傳輸協議。 HTTP協議工作于客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。WEB服務器根據接收到的請求后,向客戶端發送響應信息。 總結:HTTP消息是一種特別常用的客戶端與服務器之間交換數據的方式 ![](https://box.kancloud.cn/554ec3f18ad5512219b8a48f19578b53_592x195.jpg) **特點:** - 無連接:限制每次連接只處理一個請求。服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接 - 無狀態:每個請求都是獨立的,不會自動記憶狀態。聰明的人們,為了解決對話能保持狀態,使用了session與cookie來解決。 ### HTTP 請求的組成 如果學習過Fiddler的朋友,可以抓一下前面一節中的簡單GET與POST請求,在Inspector的raw窗口下,可以看到如下信息: GET請求中,body內容為空,參數主要放在url中。 ![](https://box.kancloud.cn/cc6a198a881aa22438a2d802d8598a76_1263x304.jpg) POST請求中,參數一般放在body中。 ![](https://box.kancloud.cn/5ec6c4fd39a4d8d291f52fc7e43fca22_974x416.jpg) 通過上面兩個請求,我們可以總結出,HTTP請求,主要有三部分組成 - 起始行:包含請求方法,請求地址 - 請求頭headers:格式如key:value,主要用于傳遞客戶端的特定配置信息 - 請求體body: post方法存儲參數的位置 ### Postman 發起一個API請求 創建一個請求,主要配置四部分 1.請求方法method;2.請求地址URL;3.請求頭headers;4.請求體body 對應在Postman中的設置位置如 ![](https://box.kancloud.cn/928bd9924586ba401c905e819866408f_607x341.jpg) #### Method 在HTTP中的method有GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE,其中最常用的只有`GET`與`POST` #### URL 點擊按鈕“Params”會展開參數編輯窗口,在窗口中填入的參數鍵值對,會自動拼接到URL參數中。直接寫在URL中的參數,也會自動以鍵值對的形式顯示在編輯窗口 #### Headers HTTP通用的headers有一下內容: ![](https://box.kancloud.cn/b11bfa9ad10764a5a68ef307cb15ecc6_749x2013.jpg) 當然,我們可以添加任意名稱的headers,在Postman中,不管是headers的key或者value,輸入部分字符后都有“自動聯想”提示,非常的好用! #### Cookies 在Native APP中,提供了Cookie管理器。 ![](https://box.kancloud.cn/8793febe7932a6bf4e7fec50d9657bb9_598x260.jpg) >[info] 在客戶端,發送請求時附帶上cookie,一般用于**保持用戶狀態**。但是關鍵的cookie可不是客戶端生成哦,而是服務端創建的。服務端會先創建一個會話Session,將SessionID作為cookie設置到客戶端,在之后的一系列請求中只要帶上SessionID,服務端則會認為這是同一個用戶在訪問了。 在cookie的使用中,有一個非常重要的規則,就是`Cookie不能跨域訪問`。例如在B網站中不能使用訪問A網站時生成的cookie。因此,在設置cookie時,需要先指定域名,然后設置cookie內容。 ![](https://box.kancloud.cn/e34e3af8cf28611561ce5afb38953bde_698x228.jpg) #### Body 在POST方法中,參數通常會設置在Body中。 *注意:參數值不會自動進行`URL-encoded`,如果想要某參數值URL-encoded,可以選擇參數值字符串,右鍵選擇“EncodeURIcomponent”即可* 在Body參數的格式上,有四種:“form-data”,“urlencoded”,“raw”,“binary” 當我們通過HTTP協議發送請求時,headers中攜帶的Content-Type會告訴服務器所傳參數的類型,以便于服務器能正確解析請求參數。 ![](https://box.kancloud.cn/cef3812df1bb123b1117a7d04d5d5d6a_607x272.jpg) **“form-data"類型**,相當于"content-type": "multipart/form-data” Form-data是默認的web表單數據傳輸的編碼類型,這模擬了在網站上填寫`表單`,并提交它。`既可以上傳鍵值對,也可以上傳文件`。 **“x-www-form-urlencoded”類型**,相當于"content-type": "application/x-www-form-urlencoded" `只能上傳鍵值對`,會將`表單`內的數據轉換為鍵值對,并且自動對參數值進行`urlencode編碼`。 ![](https://box.kancloud.cn/8e821bfa9cf0d9913456d25891a99059_594x204.jpg) **“raw”類型**,對應"content-type"可以是“text/plain”,"application/json","text/xml",或"text/html" 可以上傳`任意格式的文本`,可以上傳text、json、xml、html等 ![](https://box.kancloud.cn/5c120b7202cd693f1c094ae0bd549a4a_607x219.jpg) **“binary”類型**,相當于“Content-Type”:“application/octet-stream” 只可以上傳`二進制數據`,通常用來上傳文件 ### HTTP 響應的組成 ![](https://box.kancloud.cn/c8e3369bb7561e29f4fde9249f526ead_1259x252.jpg) HTTP響應也主要有三部分組成 - 狀態行 - 響應頭headers - 響應體body 對應Postman中的顯示區域如: ![](https://box.kancloud.cn/87bf790dc9ac36042659394f0ee94da7_1091x467.jpg) HTTP通用的響應headers有 ![](https://box.kancloud.cn/aefd4e73910afecd2930c09711b1a9ff_751x2403.jpg) ### 課后學習要求 好好百度下HTTP協議。關鍵是要了解HTTP協議的特點、HTTP headers中各個配置的含義、HTTP的各種響應碼的含義。 <hr style="margin-top:100px"> :-: ![](https://box.kancloud.cn/331f659e8e6cddb0d9f182e00e32803f_258x258.jpg) ***微信掃一掃,關注“python測試開發圈”,獲取更多測試開發分享!***
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看