日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

HTTP協(xié)議基礎(chǔ)

HTTP(HyperTextTransferProtocol)是超文本傳輸協(xié)議的縮寫,它用于傳送WWW方式的數(shù)據(jù),關(guān)于HTTP協(xié)議的具體內(nèi)容請(qǐng)參考RFC2616 。HTTP協(xié)議采用了請(qǐng)求/響應(yīng)模型 ??蛻舳讼蚍?wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法、URI、協(xié)議版本、以及包含請(qǐng)求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu) 。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及可能的實(shí)體內(nèi)容 。通常HTTP消息包括客戶機(jī)向服務(wù)器的請(qǐng)求消息和服務(wù)器向客戶機(jī)的響應(yīng)消息 。這兩種類型的消息由一個(gè)起始行,一個(gè)或者多個(gè)頭域,一個(gè)只是頭域結(jié)束的空行和可選的消息體組成 。HTTP的頭域包括通用頭,請(qǐng)求頭,響應(yīng)頭和實(shí)體頭四個(gè)部分 。每個(gè)頭域由一個(gè)域名,冒號(hào)(:)和域值三部分組成 。域名是大小寫無(wú)關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開始處,使用至少一個(gè)空格或制表符 。
通用頭域
通用頭域包含請(qǐng)求和響應(yīng)消息都支持的頭域,通用頭域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via 。對(duì)通用頭域的擴(kuò)展要求通訊雙方都支持此擴(kuò)展,假如存在不支持的通用頭域,一般將會(huì)作為實(shí)體頭域處理 。下面簡(jiǎn)單介紹幾個(gè)在UPnP消息中使用的通用頭域 。
Cache-Control頭域
Cache-Control指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制 。在請(qǐng)求消息或響應(yīng)消息中設(shè)置Cache-Control并不會(huì)修改另一個(gè)消息處理過(guò)程中的緩存處理過(guò)程 。請(qǐng)求時(shí)的緩存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,響應(yīng)消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age 。各個(gè)消息中的指令含義如下:
Public指示響應(yīng)可被任何緩存區(qū)緩存 。
Private指示對(duì)于單個(gè)用戶的整個(gè)或部分響應(yīng)消息,不能被共享緩存處理 。這答應(yīng)服務(wù)器僅僅描述當(dāng)用戶的部分響應(yīng)消息,此響應(yīng)消息對(duì)于其他用戶的請(qǐng)求無(wú)效 。
no-cache指示請(qǐng)求或響應(yīng)消息不能緩存
no-store用于防止重要的信息被無(wú)意的發(fā)布 。在請(qǐng)求消息中發(fā)送將使得請(qǐng)求和響應(yīng)消息都不使用緩存 。
max-age指示客戶機(jī)可以接收生存期不大于指定時(shí)間(以秒為單位)的響應(yīng) 。
min-fresh指示客戶機(jī)可以接收響應(yīng)時(shí)間小于當(dāng)前時(shí)間加上指定時(shí)間的響應(yīng) 。
max-stale指示客戶機(jī)可以接收超出超時(shí)期間的響應(yīng)消息 。假如指定max-stale消息的值,那么客戶機(jī)可以接收超出超時(shí)期指定值之內(nèi)的響應(yīng)消息 。
Date頭域
Date頭域表示消息發(fā)送的時(shí)間,時(shí)間的描述格式由rfc822定義 。例如,Date:Mon,31Dec200104:25:57GMT 。Date描述的時(shí)間表示世界標(biāo)準(zhǔn)時(shí),換算成本地時(shí)間,需要知道用戶所在的時(shí)區(qū) 。
Pragma頭域
Pragma頭域用來(lái)包含實(shí)現(xiàn)特定的指令,最常用的是Pragma:no-cache 。在HTTP/1.1協(xié)議中,它的含義和Cache-Control:no-cache相同 。
請(qǐng)求消息
請(qǐng)求消息的第一行為下面的格式:
MethodSPRequest-URISPHTTP-VersionCRLFMethod表示對(duì)于Request-URI完成的方法,這個(gè)字段是大小寫敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE 。方法GET和HEAD應(yīng)該被所有的通用WEB服務(wù)器支持,其他所有方法的實(shí)現(xiàn)是可選的 。GET方法取回由Request-URI標(biāo)識(shí)的信息 。HEAD方法也是取回由Request-URI標(biāo)識(shí)的信息,只是可以在響應(yīng)時(shí),不返回消息體 。POST方法可以請(qǐng)求服務(wù)器接收包含在請(qǐng)求中的實(shí)體信息,可以用于提交表單,向新聞組、BBS、郵件群組和數(shù)據(jù)庫(kù)發(fā)送消息 。
SP表示空格 。Request-URI遵循URI格式,在此字段為星號(hào)(*)時(shí),說(shuō)明請(qǐng)求并不用于某個(gè)特定的資源地址,而是用于服務(wù)器本身 。HTTP-Version表示支持的HTTP版本,例如為HTTP/1.1 。CRLF表示換行回車符 。請(qǐng)求頭域答應(yīng)客戶端向服務(wù)器傳遞關(guān)于請(qǐng)求或者關(guān)于客戶機(jī)的附加信息 。請(qǐng)求頭域可能包含下列字段Accept、Accept-Charset、Accept-Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent 。對(duì)請(qǐng)求頭域的擴(kuò)展要求通訊雙方都支持,假如存在不支持的請(qǐng)求頭域,一般將會(huì)作為實(shí)體頭域處理 。

推薦閱讀