乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      HTTP請求模型和頭信息

       Jeffica 2012-09-12
        

      作為一個(gè)Web測試工程師,對HTTP協(xié)議還是需要一定的了解的,對其請求模型和頭信息進(jìn)行了學(xué)習(xí),總結(jié)如下:
      HTTP請求模型
      一、連接至Web服務(wù)器

      一個(gè)客戶端應(yīng)用(如Web瀏覽器)打開到Web服務(wù)器的HTTP端口的一個(gè)套接字(缺省為80)。
      例如:http://www.:8080/index.html
      Java中,這將等同于代碼:
      Socket socket=new Socket("www.",8080);
      InputStream in=socket.getInputStream();
      OutputStream out=socket.getOutputStream();
      二、發(fā)送HTTP請求
           通過連接,客戶端寫一個(gè)ASCII文本請求行,后跟0或多個(gè)HTTP頭標(biāo),一個(gè)空行和實(shí)現(xiàn)請求的任意數(shù)據(jù)。一個(gè)請求由四個(gè)部分組成:請求行、請求頭標(biāo)、空行和請求數(shù)據(jù)。
      1、請求行:請求行由三個(gè)標(biāo)記組成:請求方法、請求URI和HTTP版本,它們用空格分隔。
      例如:GET /index.html HTTP/1.1
      HTTP規(guī)范定義了8種可能的請求方法:
      1. GET            //檢索URI中標(biāo)識(shí)資源的一個(gè)簡單請求  
      2. HEAD            //與GET方法相同,服務(wù)器只返回狀態(tài)行和頭標(biāo),并不返回請求文檔  
      3. POST            //服務(wù)器接受被寫入客戶端輸出流中的數(shù)據(jù)的請求  
      4. PUT            //服務(wù)器保存請求數(shù)據(jù)作為指定URI新內(nèi)容的請求  
      5. OPTIONS        //關(guān)于服務(wù)器支持的請求方法信息的請求  
      6. TRACE            //Web服務(wù)器反饋Http 請求和其頭標(biāo)的請求  
      7. CONNECT        //已文檔化但當(dāng)前未實(shí)現(xiàn)的一個(gè)方法,預(yù)留做隧道處理 
      2、請求頭標(biāo):由關(guān)鍵字/值對組成,每行一對,關(guān)鍵字和值用冒號(hào)(:)分隔。
      請求頭標(biāo)通知服務(wù)器有關(guān)于客戶端的功能和標(biāo)識(shí),典型的請求頭標(biāo)有:
      1. User-Agent  //客戶端廠家和版本,eg:Mozilla /5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3  
      2. Accept  //客戶端可識(shí)別的內(nèi)容類型列表,eg:text /html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
      3. Accept-Language //接收語言,eg:zh- cn,zh;q=0.5  
      4. Accept-Encoding //接收壓縮方式,eg:gzip,deflate  
      5. Accept-Charset //接收編碼,eg:GB2312,utf-8  
      6. Keep-Alive //客戶端到服務(wù)器端的連接持續(xù)有效  
      7. Connection //鏈接方式,eg:keep-alive  
      8. Cookie //  
      9. Cache-Control //控制HTTP緩存  
      10. Referer //請求的來源頁面  
      11. Host //請求主機(jī)  
      12. Authorization //頁面驗(yàn)證  
      13. //POST時(shí)  
      14. Content-Type //數(shù)據(jù)或文件的類型  
      15. Content-Length    //附加到請求的數(shù)據(jù)字節(jié)數(shù) 
      3、空行:最后一個(gè)請求頭標(biāo)之后是一個(gè)空行,發(fā)送回車符和退行,通知服務(wù)器以下不再有頭標(biāo)。

      4、請求數(shù)據(jù):使用POST傳送數(shù)據(jù),最常使用的是Content-Type和Content-Length頭標(biāo)。

      三、服務(wù)端接受請求并返回HTTP響應(yīng)
      Web服務(wù)器解析請求,定位指定資源。服務(wù)器將資源副本寫至套接字,在此處由客戶端讀取。
      一個(gè)響應(yīng)由四個(gè)部分組成;狀態(tài)行、響應(yīng)頭標(biāo)、空行、響應(yīng)數(shù)據(jù)

      1、狀態(tài)行:狀態(tài)行由三個(gè)標(biāo)記組成:HTTP版本、響應(yīng)代碼和響應(yīng)描述。
      HTTP版本:向客戶端指明其可理解的最高版本。
      響應(yīng)代碼:3位的數(shù)字代碼,指出請求的成功或失敗,如果失敗則指出原因。
      響應(yīng)描述:為響應(yīng)代碼的可讀性解釋。
      例如:HTTP/1.1 200 OK
      HTTP響應(yīng)碼:

      1xx:信息,請求收到,繼續(xù)處理
      2xx:成功,行為被成功地接受、理解和采納
      3xx:重定向,為了完成請求,必須進(jìn)一步執(zhí)行的動(dòng)作
      4xx:客戶端錯(cuò)誤,請求包含語法錯(cuò)誤或者請求無法實(shí)現(xiàn)
      5xx:服務(wù)器錯(cuò)誤,服務(wù)器不能完成對一種正常請求的處理

      2、響應(yīng)頭標(biāo):像請求頭標(biāo)一樣,它們指出服務(wù)器的功能,標(biāo)識(shí)出響應(yīng)數(shù)據(jù)的細(xì)節(jié)。

      1. Date    //返回時(shí)間,eg:Thu, 15 Oct 2009 15:44:12 GMT  
      2. Server //web服務(wù)器類型   Apache /2.0.54 (Unix)  
      3. Last-Modified //最近更新時(shí)間  Thu, 15 Oct 2009 15:43:22 GMT  
      4. Accept-Ranges //接收范圍,eg:bytes  
      5. X-Powered-By //使用的語言工具,eg:PHP /5.2.6  
      6. Cache-Control //緩存控制,eg:max-age=60  
      7. Expires //過期時(shí)間  Thu, 15 Oct 2009 15:45:12 GMT  
      8. Content-Encoding //頁面壓縮 eg:gzip  
      9. Content-Type //返回?cái)?shù)據(jù)類型,eg:   text/html; charset=UTF-8  
      10. Connection  //請求連接,eg:close
      11. Set-Cookie //The server sends the lineSet-Cookieonly if the server wishes the browser to store a cookie.Set-Cookieis a request for the browser to store the stringname=valueand send it back in all future requests to the server.
      3、空行:最后一個(gè)響應(yīng)頭標(biāo)之后是一個(gè)空行,發(fā)送回車符和退行,表明服務(wù)器以下不再有頭標(biāo)。

      4、響應(yīng)數(shù)據(jù):HTML文檔和圖像等,也就是HTML本身。

      四、服務(wù)器關(guān)閉連接,瀏覽器解析響應(yīng)
      1.瀏覽器首先解析狀態(tài)行,查看表明請求是否成功的狀態(tài)代碼。
      2.然后解析每一個(gè)響應(yīng)頭標(biāo),頭標(biāo)告知以下為若干字節(jié)的HTML。
      3.讀取響應(yīng)數(shù)據(jù)HTML,根據(jù)HTML的語法和語義對其進(jìn)行格式化,并在瀏覽器窗口中顯示它。
      4.一個(gè)HTML文檔可能包含其它需要被載入的資源引用,瀏覽器識(shí)別這些引用,對其它的資源再進(jìn)行額外的請求,此過程循環(huán)多次。

      五、無狀態(tài)連接
      HTTP模型是無狀態(tài)的,表明在處理一個(gè)請求時(shí),Web服務(wù)器并不記住來自同一客戶端的請求。HTTP是一種無狀態(tài)的協(xié)議,無狀態(tài)是指Web瀏覽器和Web服務(wù)器之間不需要建立持久的連接,這意味著當(dāng)一個(gè)客戶端向服務(wù)器端發(fā)出請求,然后Web服務(wù)器返回響應(yīng)(response),連接就被關(guān)閉了,在服務(wù)器端不保留連接的有關(guān)信息.
      如果瀏覽器或者服務(wù)器在其頭信息加入了這行代碼:Connection:keep-alive,TCP連接在發(fā)送后將仍然保持打開狀態(tài),于是,瀏覽器可以繼續(xù)通過相同的連接發(fā)送請求。保持連接節(jié)省了為每個(gè)請求建立新連接所需的時(shí)間,還節(jié)約了網(wǎng)絡(luò)帶寬。



      六、實(shí)例
      1.瀏覽器發(fā)出請求
      GET /index.html HTTP/1.1

      服務(wù)器返回響應(yīng):

      HTTP /1.1 200 OK
      Date: Apr 11 2006 15:32:08 GMT
      Server: Apache/2.0.46(win32)
      Content-Length: 119
      Content-Type: text/html

      <HTML>
      <HEAD>
      <LINK REL="stylesheet" HREF="index.css">
      </HEAD>
      <BODY>
      <IMG SRC="image/logo.png">
      </BODY>
      </HTML>

      附錄知識(shí):
      1.HTTP規(guī)范:Internet工程制定組織(IETF)發(fā)布的RFC指定Internet標(biāo)準(zhǔn),這些RFC被Internet研究發(fā)展機(jī)構(gòu)廣泛接受。因?yàn)樗鼈兪菢?biāo)準(zhǔn)文檔,故一般用正規(guī)語言編寫,如立法文標(biāo)一樣。
      2.RFC:RFC一旦被提出,就被編號(hào)且不會(huì)再改變,當(dāng)一個(gè)標(biāo)準(zhǔn)被修改時(shí),則給出一個(gè)新的RFC。作為標(biāo)準(zhǔn),RFC在Internet上被廣泛采用。
      3.HTTP的幾個(gè)重要RFC:
          RFC1945    HTTP 1.0 描述
          RFC2068    HTTP 1.1 初步描述
          RFC2616    HTTP 1.1 標(biāo)準(zhǔn)
      4.資源標(biāo)識(shí)符URI(Uniform Resource Identifter,URI)
      5.在http 1.0的協(xié)議里定義了三種請求方式:GET,POST,HEAD。http 1.1又補(bǔ)充了一些,如PUT,DELETE,OPTIONS和TRACE。
      6.查看HTTP請求和相應(yīng)的頭信息:http:///  或者 firebug/httpwatch等工具。

      參考資料:
      http://www./cwbwebhome/article/article2/2406.html?id=1093
      http://www./index.php/2009/10/http-%E8%AF%B7%E6%B1%82%E7%AE%80%E4%BB%8B/

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請遵守用戶 評(píng)論公約

        類似文章 更多