久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

HTTP協(xié)議中POST,、GET,、HEAD的區(qū)別是什么,?分別在什么情況下使用,?

 pengyan 2006-11-17
  HTTP是Web協(xié)議集中的重要協(xié)議,它是從客戶機(jī)/服務(wù)器模型發(fā)展起來的,。客戶機(jī)/服務(wù)器是運(yùn)行一對相互通信的程序,,客戶與服務(wù)器連接時(shí),,首先,向服務(wù)器提出請求,,服務(wù)器根據(jù)客戶的請求,,完成處理并給出響應(yīng)。瀏覽器就是與Web服務(wù)器產(chǎn)生連接的客戶端程序,,它的端口為TCP的80端口,,。瀏覽器與Web服務(wù)器之間所遵循的協(xié)議就是HTTP,。
  筆者曾在第六期的《用telnet登陸非23端口》一文中寫過關(guān)于用telnet訪問http/1.0,,恰逢有朋友問起用netants下載文件時(shí)發(fā)生的一個關(guān)于http/0.9問題,打開IE5.0選擇工具,、Internet選項(xiàng),、高級,可以發(fā)現(xiàn)HTTP/1.1的設(shè)置,,使用HTTP/1.1,。所以,這里想向大家詳細(xì)介紹關(guān)于HTTP協(xié)議的發(fā)展歷程,,以便于大家更好的運(yùn)用HTTP訪問Internet,。
  HTTP的早期版本為HTTP/0.9,它適用于各種數(shù)據(jù)信息的簡潔快速協(xié)議,,但是其遠(yuǎn)不能滿足日益發(fā)展各種應(yīng)用的需要,。但HTTP/0.9作為HTTP協(xié)議具有典型的無狀態(tài)性:每個事務(wù)都是獨(dú)立進(jìn)行處理的,當(dāng)一個事務(wù)開始就在客戶與服務(wù)器之間建立一個連接,當(dāng)事務(wù)結(jié)束時(shí)就釋放這個連接,。HTTP/0.9包含Simple-Request&Simple-Responsed的報(bào)文結(jié)構(gòu),。但是客戶無法使用內(nèi)容協(xié)商,所以服務(wù)器也無法返回實(shí)體的媒體類型,。
  1982年,,Tim Berners-Lee提出了HTTP/1.0,在此后的不斷豐富和發(fā)展中,,HTTP/1.0成為最重要的面向事務(wù)的應(yīng)用層協(xié)議,。該協(xié)議對每一次請求/響應(yīng),建立并拆除一次連接,。其特點(diǎn)是簡單,、易于管理,所以它符合了大家的需要,,得到了廣泛的應(yīng)用,。其缺點(diǎn)是仍會發(fā)生下列問題:對用戶請求響應(yīng)慢、網(wǎng)絡(luò)擁塞嚴(yán)重,、安全性等,。
  1997年形成的HTTP/1.1,也就是現(xiàn)在普遍使用的協(xié)議,,在持續(xù)連接操作機(jī)制中實(shí)現(xiàn)流水方式,,即客戶端需要對同一服務(wù)器發(fā)出多個請求時(shí),其實(shí)現(xiàn)在多數(shù)的網(wǎng)頁都是有多部分組成(比如多張圖片),,可用流水線方式加快速度,,流水機(jī)制就是指連續(xù)發(fā)出多個請求并等到這些請求發(fā)送完畢,再等待響應(yīng),。這樣就大大節(jié)省了單獨(dú)請求對響應(yīng)的等待時(shí)間,,使我們得到更快速的瀏覽。
  另外,,HTTP/1.1服務(wù)器端處理請求時(shí)按照收到的順序進(jìn)行,這就保證了傳輸?shù)恼_性,。當(dāng)然,服務(wù)器端在發(fā)生連接中斷時(shí),,會自動的重傳請求,,保證數(shù)據(jù)的完整性。
  HTTP/1.1還提供了身份認(rèn)證,、狀態(tài)管理和Cache緩存等機(jī)制,。這里,我想特別提一下關(guān)于HTTP/1.1中的Cache緩存機(jī)制對HTTP/1.0的不足之處的改進(jìn),,它嚴(yán)格全面,,既可以減少時(shí)間延遲,、又節(jié)省了帶寬。HTTP/1.1采用了內(nèi)容協(xié)商機(jī)制,,選擇最合適的用戶的內(nèi)容表現(xiàn)形式,。
  現(xiàn)在,很多地方都有用到的虛擬主機(jī)技術(shù)在HTTP/1.1中也可以實(shí)現(xiàn),。所謂的虛擬主機(jī)技術(shù),,就是同一主機(jī)地址實(shí)際對應(yīng)多臺主機(jī)。通俗的講,,當(dāng)你同時(shí)在一個網(wǎng)站申請兩個主頁時(shí),,用協(xié)議分析儀可以發(fā)現(xiàn)其實(shí)這兩個主頁對應(yīng)的是同一個IP地址。這樣用多臺完全相同的機(jī)器形成WWW服務(wù)器就可以提高處理的吞吐量,。
  傳統(tǒng)的解決方案是改造域名服務(wù)器使其可以根據(jù)一定的算法將同一域名解釋成不同的IP地址,。分別對應(yīng)虛擬主機(jī)的每臺機(jī)器,其缺點(diǎn)是要求每臺機(jī)器占用完全獨(dú)立的IP地址,,這與IP地址的缺乏是相矛盾的,。
  HTTP/1.1提供的解決方案在HTTP協(xié)議自身中加入了指定不同主機(jī)的功能,從而多臺主機(jī)可以共享一個IP地址,,既提高了性能又便于管理,。
  因?yàn)镠TTP/1.1是Internet現(xiàn)行的標(biāo)準(zhǔn)協(xié)議,這里詳細(xì)介紹其相關(guān)語法,。
  首先,HTTP/1.1格式可寫為:
      其中請求方法是請求一定的Web頁面的程序或用于特定的URL,??蛇x用下列幾種:
  GET: 請求指定的頁面信息,并返回實(shí)體主體,。
  HEAD: 只請求頁面的首部,。
  POST: 請求服務(wù)器接受所指定的文檔作為對所標(biāo)識的URI的新的從屬實(shí)體。
  PUT: 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容,。
  DELETE: 請求服務(wù)器刪除指定的頁面,。
  OPTIONS: 允許客戶端查看服務(wù)器的性能。
  TRACE: 請求服務(wù)器在響應(yīng)中的實(shí)體主體部分返回所得到的內(nèi)容,。
  PATCH: 實(shí)體中包含一個表,,表中說明與該URI所表示的原內(nèi)容的區(qū)別。
  MOVE: 請求服務(wù)器將指定的頁面移至另一個網(wǎng)絡(luò)地址,。
  COPY: 請求服務(wù)器將指定的頁面拷貝至另一個網(wǎng)絡(luò)地址,。
  LINK: 請求服務(wù)器建立鏈接關(guān)系。
  UNLINK: 斷開鏈接關(guān)系,。
  WRAPPED: 允許客戶端發(fā)送經(jīng)過封裝的請求,。
  Extension-mothed:在不改動協(xié)議的前提下,,可增加另外的方法。
比如:
  GET /index.html HTTP/1.1
  Accept: text/plain /*純ASCII碼文本文件*/
  Accept: text/html /*HTML文本文件*/
  User-Agent:Mozilla/4.5(WinNT)
  說明瀏覽器使用Get方法請求文檔/index.html,。瀏覽器則只允許接收純ASCII碼文本文件和HTML文本文件,,其使用的引擎是Mozilla/4.5(Netscape)。

  當(dāng)服務(wù)器響應(yīng)時(shí),,其狀態(tài)行的信息為HTTP的版本號,,狀態(tài)碼,及解釋狀態(tài)碼的簡單說明?,F(xiàn)將5類狀態(tài)碼詳細(xì)列出:
① 客戶方錯誤
  100  繼續(xù)
  101  交換協(xié)議
② 成功
  200  OK
  201  已創(chuàng)建
  202  接收
  203  非認(rèn)證信息
  204  無內(nèi)容
  205  重置內(nèi)容
  206  部分內(nèi)容
③ 重定向
  300  多路選擇
  301  永久轉(zhuǎn)移
  302  暫時(shí)轉(zhuǎn)移
  303  參見其它
  304  未修改(Not Modified)
  305  使用代理
④ 客戶方錯誤
  400  錯誤請求(Bad Request)
  401  未認(rèn)證
  402  需要付費(fèi)
  403  禁止(Forbidden)
  404  未找到(Not Found)
  405  方法不允許
  406  不接受
  407  需要代理認(rèn)證
  408  請求超時(shí)
  409  沖突
  410  失敗
  411  需要長度
  412  條件失敗
  413  請求實(shí)體太大
  414  請求URI太長
  415  不支持媒體類型
⑤ 服務(wù)器錯誤
  500  服務(wù)器內(nèi)部錯誤
  501  未實(shí)現(xiàn)(Not Implemented)
  502  網(wǎng)關(guān)失敗
  504  網(wǎng)關(guān)超時(shí)
  505 HTTP版本不支持
  比如:(在《TELNET……》一文中用telnet登陸80端口,相同的方法用在HTTP/1.1中,會發(fā)現(xiàn)沒有顯示,,下面補(bǔ)充說明之)
telnet www.fudan.edu.cn 80
HEAD / HTTP/1.1
host:www.fudan.edu.cn /*本行為輸入內(nèi)容*/
HTTP/1.1 501 Method Not Implemented
Date: Web, 01 Nov 2000 07:12:29 GMT /*當(dāng)前的日期/時(shí)間*/
Server: Apache/1.3.12 (Unix) /*Web服務(wù)器信息*/
Allow: GET, HEAD, OPTION, TRACE /*支持的方法類型*/
Connection: close
Connect-Type: Text/html; charset=iso-8859-1/*連接的媒體類型*/

<!DOCTYPE HTML PUBLIG "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>501 Method
Not Implemented</TITLE>
</HEAD><BODY>
<H1>Method Not Implemented</H1>
head to /inde
x.html not supported.<P>
Invalid method in request head / htp/1.1<P>
<HR>
<ADDRESS>
Apache/1.3.12 Server at www.fudan.edu.cn Port 80</ADDRESS>
</BODY></HTML>
關(guān)于實(shí)體頭部的內(nèi)容還可以有:
Last Modified :請求文檔的最近修改時(shí)間。
Expires :請求文檔的過期時(shí)間,。
Connect-length:文檔數(shù)據(jù)的長度,。
WWW-authenricate:通知客戶端需要的認(rèn)證信息。
Connect-encoding :說明有無使用壓縮技術(shù),。
Transfer-encoding :說明采用的編碼變換類型,。

  隨著Internet的發(fā)展,下一代的HTTP協(xié)議HTTP-ng已經(jīng)在醞釀之中,,它將會提供更好的安全性,、更快的速度,其改進(jìn)要點(diǎn)為:模塊化強(qiáng),、網(wǎng)絡(luò)效率高,、安全性更好、結(jié)構(gòu)更簡單,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(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條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多