<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## HTTP協議 #### HTTP是Web常見應用的網絡協議,簡稱超文本傳輸協議 http是基于TCP傳輸層實現的,默認的TCP端口為80 http目前使用最多的版本是1.1,最新的版本是2.0,下個版本是3.0 http協議是無狀態的 每次請求都是獨立的,任何兩個請求之間沒有什么必然的聯系 ## 多次http請求 客戶端請求網頁多數情況不是一次請求就能成功的,首先是響應html頁面,然后發現HTML頁面還引用的了其他資源。例如css/js/圖片等,還會自動發送http請求這些需要的資源。現在的http版本支持管道機制,可以同時請求和響應多個請求,大大提高了效率 ## 基于TCP協議 HTTP協議目的是規定客戶端和服務的數據傳輸的格式和數據交互行為,并不負責數據傳輸的細節。http底層基于TCP實現的,現在的版本默認持久連接,多次的http請求使用一個TCP連接。 ## HTTP的組成 為請求和響應兩個部分,請求是指客戶端想服務器發送的消息;響應是指服務器收到信息后想客戶端返回的信息 ### URI(統一資源標識符) **完整uri** : http:user:pass@host.com:8080/p/a/t/h?query=string#hash user 用戶名(可選) pass 對應密碼(可選) host.com 主機域名地址(或者IP地址) 8080 端口號,默認是80 /P/a/t/h 資源路徑 query=string 參數傳遞,多個參數通過&拼接 hash 錨點 ## 請求(Request): 1,請求行 (方法 路徑 協議) 2,請求頭信息 (格式為key=value) 3,請求主體信息 (可選,發送的內容) 請求頭信息與主體信息之間要有一個空行 例子: POST /index.php http/1.1 host:localhost content-type:application/x-www-form-urlencoded content-length:25 name=zhangsan ## 請求行 1,請求方法 GET POST HEAD DELETE PUT TRACE OPTIONS 2,請求路徑 URL的一部分 3,所用協議 目前常用是1.1 ## 請求頭信息 1,post請求要注明請求主體的長度 content-length:length 2,服務器要能偶解析到POST數據還需要請求頭包含數據類型 content-type:application/x-www-form-urlencoded //需要經過url編碼 格式為key:value (鍵值對) ## 請求主體 使用&拼接在一起的key=value鍵值對組成 使用CMD模擬HTTP請求: 1,服務器根目錄創建index.php,內容為 <?php echo "Hello World"; 2,打開CMD, telnet localhost 80 3,CTRL+] 4,get /index.php http/1.1 ***** HTTP/1.1 200 OK Date: Wed, 13 Nov 2019 05:49:40 GMT Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j mod_fcgid/2.3.9 X-Powered-By: PHP/5.3.29 Connection: close Content-Type: text/html Hello World 遺失對主機的連接。 ***** ## 響應(Reponse) 響應行(協議 狀態碼 狀態文字) 響應頭信息 (格式為key=value) 空行 主體信息(可能為空) 例子: HTTP/1.1 200 OK Content-Type: text/html content-length:25 hello ## HTTP動詞 1,GET:獲取資源 2,POST:創建資源 3,PUT:修改資源 4,HEAD:獲得報文首部 5,DELETE:刪除文件 6,OPTIONS:詢問支持的方法 7,TRACE:追蹤路徑 8,CONNECT:用于隧道協議連接代理 ## HTTP狀態碼與狀態文字 狀態碼:用來反應服務器響應狀態 狀態文字:用來描述狀態碼的 ### 5種分類: 1** 信息,服務器收到請求,需要請求者繼續執行操作 2** 成功,操作被成功接收并處理 3** 重定向,需要進一步的操作以完成請求 4** 客戶端錯誤,請求包含語法錯誤或無法完成請求 5** 服務器錯誤,服務器在處理請求的過程中發生了錯誤 ## Content-Type ·內容類型,定義網絡文件的類型和網頁的編碼,決定瀏覽器將以什么形式、什么編碼讀取這個文件 ### application/x-www-form-urlencoded (原生form表單傳輸方式)默認的連接方式 1,數據以key/value 中間用&連接 2,key和value都要用URL編碼 POST http://www.example.com HTTP/1.1 Content-Type:application/x-www-form-urlencoded;charset=utf-8 ***** ### multipart/form-data (表單上傳) POST http://www.example.com HTTP/1.1 Content-Type:multipart/form-data;boundary=---WebkitFormBoundaryrGKCBY7qhFd3TrwA ---WebkitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition:form-data;name="text" title ---WebkitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition:form-data;name="file";filename="test.png" Content-Type:image/png ***** ### application/json (API常用格式) POST http://www.example.com HTTP/1.1 Content-Type:application/json;charset=utf-8 {"title":"test","sub":[1,2,3]} ## text/xml (API常用格式) POST http://www.example.com HTTP/1.1 Content-Type:text/xml
                  <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>

                              哎呀哎呀视频在线观看