• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            HTTP協議相關概述

            HTTP協議被設計得非常強大,但很多網絡應用都沒有利用這些強大之處。比如緩存和HTTP方法。HTTP為資源的增刪改查分別提供了 PUT,DELETE,POST,GET等方法,確沒有人用。所以,最近興起的Restful只是對優化web架構、充分利用HTTP協議的能力的一個回 歸。下面是一些HTTP協議的概述:

             

            消息:HTTP協議中頂級數據單位,使用HTTP協議通信的機器之間來回發送的數據包

             

            實體:只出現在有消息體的消息中。它按照實體header定義的格式和編碼進行傳輸。

             

            方法:

            OPTIONS :客戶端查詢服務器對與某URL允許的通信選項

            GET :從服務器獲取URL對應的資源

            HEAD :除了服務器響應中不能包含消息體,該方法與GET一樣。用于只需少數元信息的情況

            POST :被設計用來注解、修改URL所對應的資源

            PUT :被設計用來修改或創建資源。當URL對應的資源存在時,則提交的作為新版本,否則新建資源

            DELETE :被設計用來刪除URL對應的資源

            TRACE :主要用來測試。服務器將最終接收到的請求本身發送回來,作為客戶端診斷依據

            CONNECT :保留的方法名,用于代理切換隧道

             

            header特殊參數:

            q :在大多的各種header值中,都可以看到一個名為q=0.2q=0.7之類的參數。因為發送header主要是一個和服務器的協商過程,所以能允許的選項一般不只一個,但具體哪個優先呢?這就需要為一些選項制定權重值。q參數的值是一個從01的浮點數,默認是1,為0表示客戶端無法接收,小數點后 不能超過3位。另外,header的多個值之間用逗號分隔而不是分號。比如這個headerAccept:audio/*;q=0.2,audio /basic,這表示客戶端告訴服務器“我最喜歡的是一個audio/basic類型的音頻(因為它沒有設置q參數,默認是1),但如果沒有,給我一個任 意類型(audio/*)的音頻也行”。當然,這只是q參數一個比較簡單的應用。

             

            常規header

            Cache-Control :用于指出請求/響應鏈上所有緩存必須服從的指令,它必須具有穿透各代理和網關的能力。HTTP1.0可能不支持該headerPragmano-cache

            Connection :允許客戶端指出希望特定連接的選項,且禁止由代理在將來的連接中通訊

            Date :表示消息發生的日期和時間,與RFC 822中的orig-date語義一致

            Pragma :用來包括實現特定的指令,可能應用到請求/響應鏈上所有接收方  

            Trailer :指出給出的頭部域集合在以chunked transfer-coding編碼的消息的尾部中存在

            Transfer-Encoding :指出應用什么類型的轉換到消息主體上,與content-coding不同,這不是指定實體的屬性而是消息的

            Upgrade :允許客戶端指出其支持的其他通訊協議,切愿意使用之,若服務器發現切換是可行的,必須在響應中回101

            Via :必須由網關或代理來指出請求中的UA和服務器、以及在響應中的原始服務器和客戶端的中間協議和接收方。用于跟蹤消息轉發,避免請求循環

            Warning :用戶攜帶關于消息的狀態和轉換的額外信息,可能不在消息中反映。一般用于警告應用到消息實體上的緩存操作或轉換缺少語義透明度

             

             

            請求header

            Accept :客戶端指出響應可以接受的媒體類型             

            Accept-Charset :客戶端指出響應可以接受的字符集

            Accept-Encoding :客戶端指出響應可以接受的字符編碼

            Accept-Language :客戶端指出允許的語言     

            Authorization :客戶端在受到401后,需要向服務器標明身份,包括此header即可      

            Expect : 客戶端指出要求的特殊服務器行為。若服務器無法滿足,可以返回417            

            From :               

            Host : 客戶端指出要請求的資源的因特網主機和端口號              

            If-Match : 用于與方法一起使其條件化          

            If-Modified-Since : 用于方法使其條件化,如果請求的變量在本域指定的時間從來不曾修改過,則實體將不會從服務器返回,改為304

            If-None-Match : 用于與方法一起使其條件化     

            If-Range : 用于與方法一起使其條件化          

            If-Unmodified-Since : 用于與方法一起使其條件化,如果請求的資源自header值時間以來未改變,則服務器執行該請求

            Max-Forwards : 提供某種機制,TRACEOPTIONS方法用來限制可以轉發給下個入界服務器代理或網關的數量,相當于客戶端跟蹤請求鏈      

            Proxy-Authorization : 允許客戶端向代理標識自己,該代理需要認證

            Range : 字節范圍,可以指定單個實體中單個字節范圍或范圍集             

            Referer : 允許服務器為感興趣的資源、日志、優化緩存等生成向后鏈接清單           

            TE : 指出愿意在響應中接受任何擴展的transfer-coding                

            User-Agent : 包含發起請求的用戶代理(瀏覽器和OS)的信息

             

             

            響應header

            Accept-Ranges :服務器指出對請求的資源可接受的范圍,可以是字節數或none      

            Age HTTP使用改header來傳輸從緩存服務器獲取時的響應消息的估計年齡,是緩存服務器估計從響應產生或被原始服務器重新證實以來的總時間          

            ETag :提供所請求的實體標簽的當前值              

            Location :用來重定向接收

             

            方到非URI的位置來完成請求。對于201Location是由請求創建的新資源的標識          

            Proxy-Authenticate :該header必須作為407響應的一部分,指出認證方案和可應用到代理的URI上的參數

            Retry-After :能與503響應一起用于指出希望該服務對客戶端可以維持多久,       

            Server :指出服務器使用的軟件信息            

            Vary               

            WWW-Authenticate :必須包括在401中,值至少有challenge組成,它指出認證方案和可應用到URI的參數  

             

            實體header

            Allow :客戶端指出對URI的資源允許的方法              

            Content-Encoding : 用作對media-type的修飾符,其值將必須應用到實體body上的額外內容編碼。主要用來允許壓縮而不丟失下層媒體類型標識  

            Content-Language : 客戶端指出自己所選的語言,指出目標觀眾對所封裝實體的自然語言。這可能與實體body內所有語言相同  

            Content-Length :指出實體body按十進制數的字節流的尺寸     

            Content-Location :如果實體能從獨立于請求URI的位置訪問,則服務器可以提供該實體自己的位置   

            Content-MD5 :是實體bodyMD5摘要,以便提供端到端的完整性檢查        

            Content-Range :與實體body的一部分一起發送,用來指定該部分body應用到全部body的哪個地方      

            Content-Type :指出發送給接收方的實體body的媒體類型,媒體類型參見IANA       

            Expires :指出響應被認為過期的日期/時間            

            Last-Modified :指出原始服務器認為該變量最后修改的日期和時間,確實意思取決于原是服務器的實現和資源的屬性。對文件,可能只是文件系統內最后修改時間

            extension-header

             

            狀態碼:

            100 : Continue

            101 : Switching Protocols

            200 : OK

            201 : Created

            202 : Accepted

            203 : Non-Authoritative Information

            204 : No Content

            205 : Reset Content

            206 : Partial Content

            300 : Multiple Choices

            301 : Moved Permanently

            302 : Found

            303 : See Other

            304 : Not Modified

            305 : Use Proxy

            307 : Temporary Redirect

            400 : Bad Request

            401 : Unauthorized

            402 : Payment Required

            403 : Forbidden

            404 : Not Found

            405 : Method Not Allowed

            406 : Not Acceptable

            407 : Proxy Authentication Required

            408 : Request Time-out

            409 : Conflict

            410 : Gone

            411 : Length Required

            412 : Precondition Failed

            413 : Request Entity Too Large

            414 : Request-URI Too Large

            415 : Unsupported Media Type

            416 : Requested range not satisfiable

            417 : Expectation Failed

            500 : Internal Server Error

            501 : Not Implemented

            502 : Bad Gateway

            503 : Service Unavailable

            504 : Gateway Time-out

            505 : HTTP Version not supported

            extension-code

             

            關鍵字:HTTP

             

            posted on 2009-09-04 14:09 肥仔 閱讀(506) 評論(0)  編輯 收藏 引用 所屬分類: HTTP & URL

            久久精品免费全国观看国产| 2019久久久高清456| 秋霞久久国产精品电影院| .精品久久久麻豆国产精品| 丁香五月网久久综合| 久久久久久久综合日本| 综合人妻久久一区二区精品| 97久久久精品综合88久久| 久久精品国产第一区二区| 久久久久波多野结衣高潮| 久久91亚洲人成电影网站| 亚洲国产成人久久精品99| 久久av无码专区亚洲av桃花岛| 久久精品国产99国产精偷| 欧美日韩精品久久免费| 国内精品久久九九国产精品| 精品国产乱码久久久久软件| 亚洲国产精品久久久久久| 午夜精品久久久久久毛片| 久久亚洲精品无码播放| 青青青国产精品国产精品久久久久| 久久精品国产亚洲av麻豆图片| 国内精品伊人久久久久| 精品国产日韩久久亚洲| 久久久WWW成人免费毛片| 亚洲国产成人久久综合一| 久久精品麻豆日日躁夜夜躁| 99蜜桃臀久久久欧美精品网站| 国产毛片久久久久久国产毛片| 久久精品午夜一区二区福利| 亚洲国产欧美国产综合久久| 亚洲国产成人乱码精品女人久久久不卡| 精品永久久福利一区二区| 亚洲中文字幕无码久久2017| 亚洲一区精品伊人久久伊人| 思思久久99热免费精品6| 国产福利电影一区二区三区久久久久成人精品综合 | 国产精品美女久久久久AV福利| 日本欧美久久久久免费播放网| 久久人妻无码中文字幕| 精品一二三区久久aaa片|