自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HTTP協(xié)議應(yīng)用基礎(chǔ)詳解

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
超文本傳輸協(xié)議 (HTTP-Hypertext transfer protocol) 是一種詳細(xì)規(guī)定了瀏覽器和萬(wàn)維網(wǎng)服務(wù)器之間互相通信的規(guī)則,通過因特網(wǎng)傳送萬(wàn)維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議。

  HTTP是分布式、協(xié)作的、超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。

[[113831]]

  HTTP的工作方式:

  HTTP是符合C/S模型的,總是Client端發(fā)起請(qǐng)求,整個(gè)過程,可以簡(jiǎn)單分為以下四步:

  1)客戶端發(fā)起請(qǐng)求,與服務(wù)器端完成‘TCP三次握手’;

  2)客戶端向服務(wù)器端發(fā)出“HTTP請(qǐng)求報(bào)文”;

  3)服務(wù)器端在完成內(nèi)部處理后,向客戶端發(fā)出“HTTP響應(yīng)報(bào)文”;

  4)客戶端與服務(wù)器端完成“TCP四次握手”;

  超文本傳輸協(xié)議URL:

  超文本傳輸協(xié)議URL方案規(guī)定的語(yǔ)法與語(yǔ)義:

  http://host[:port][path]

  其中:http://表示要使用的HTTP協(xié)議;

  host:可用域名或IP地址

  port:可選、端口號(hào)

  path:可選、表示請(qǐng)求的資源所在的路徑,缺省情況下為/

  報(bào)文的組成:

  1)起始行:start line

  2)首部: Header

  3)主體:body

使用wfetch工具獲得的內(nèi)容:(利用/*...*/注釋解釋)

  1)HTTP請(qǐng)求報(bào)文:

  請(qǐng)求行包括三個(gè)字段:方法字段、URI字段、HTTP版本字段

  REQUEST: **************\n

  /*這是向百度發(fā)起的請(qǐng)求:HTTP版本顯示為HTTP 1.1,方法為GET, 向服務(wù)器/申請(qǐng)資源;*/

  GET / HTTP/1.1\r\n

  /*Host用來指定要請(qǐng)求的服務(wù)器主機(jī)為220.181.112.244*/

  Host: 220.181.112.244\r\n

  Accept: */*\r\n

  /*這里是一個(gè)空行,而且是必須有的這個(gè)空行。這是HTTP協(xié)議的硬性規(guī)定*/

  \r\n

  2)HTTP響應(yīng)報(bào)文:

  RESPONSE: **************\n

  /****行是狀態(tài)行,包括三個(gè)字段:版本字段、狀態(tài)字段、原因短語(yǔ)字段*/

  /*下面,HTTP協(xié)議的響應(yīng)表達(dá)是服務(wù)器使用的是HTTP協(xié)議1.1版本,而且找到了客戶端所需要的資源,且會(huì)響應(yīng)報(bào)文

  發(fā)送給客戶端,整個(gè)過程是正常的*/

  HTTP/1.1 200 OK\r\n

  /*響應(yīng)報(bào)文被發(fā)送出去的時(shí)間*/

  Date: Sat, 31 May 2014 07:09:12 GMT\r\n

  /*指出包含的數(shù)據(jù)時(shí)HTML文本內(nèi)容*/

  Content-Type: text/html; charset=utf-8\r\n

  Transfer-Encoding: chunked\r\n

  Connection: Keep-Alive\r\n

  Vary: Accept-Encoding\r\n

  Set-Cookie: BAIDUID=95D095CC664A4682316B86A84AFFAFA9:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com\r\n

  Set-Cookie: BDSVRTM=15; path=/\r\n

  Set-Cookie: H_PS_PSSID=6597_5229_1442_6855_5224_6505_4760_6018_6678_6708_6835_6775_6737; path=/; domain=.baidu.com\r\n

  P3P: CP=" OTI DSP COR IVA OUR IND COM "\r\n

  /*緩存控制*/

  Cache-Control: private\r\n

  Expires: Sat, 31 May 2014 07:09:12 GMT\r\n

  X-Powered-By: HPHP\r\n

  /*Server域表明這個(gè)響應(yīng)報(bào)文是BWS服務(wù)器發(fā)出的,且版本是1.1*/

  Server: BWS/1.1\r\n

  BDPAGETYPE: 1\r\n

  BDQID: 0x81b75e41000579e6\r\n

  BDUSERID: 0\r\n

  /*這里的空行也是不能省略的*/

  \r\n

  /*主體*/

  .............

  HTTP報(bào)文格式:

  

 

  連接:

  ***HTTP連接的優(yōu)勢(shì):

  1)通過打開和關(guān)閉更少的TCP連接,將節(jié)約在路由器和主機(jī)上的CPU時(shí)間,且能夠在主機(jī)上節(jié)約TCP協(xié)議控制塊所使用的內(nèi)存。

  2)HTTP請(qǐng)求和響應(yīng)能夠如管道相互通過連接。管道允許客戶端需要等待每一個(gè)響應(yīng)就發(fā)出多個(gè)請(qǐng)求,允許單個(gè)TCP連接更有效地使用,花費(fèi)更少的時(shí)間。

  3)減少網(wǎng)絡(luò)擁塞,通過減少由TCP打開引出的許多包,和通過允許TCP有充分時(shí)間來判斷網(wǎng)絡(luò)的擁塞狀態(tài)。

  4)后序請(qǐng)求的延遲養(yǎng)活了,因?yàn)闆]有花費(fèi)時(shí)間在TCP倆接打開握手上。

  5)HTTP能夠更有好地進(jìn)化,由于錯(cuò)誤能夠被報(bào)告,而不需要關(guān)閉TCP連接的處罰。

  HTTP狀態(tài)碼

  信息性

  100 Continue:客戶端應(yīng)該繼續(xù)它的請(qǐng)求;

  101 Switching Protocols:服務(wù)器理解并愿意答應(yīng)客戶端的請(qǐng)求;

  成功

  這類狀態(tài)碼表示客戶端的請(qǐng)求成功被接收、理解和接受了;

  200 OK:請(qǐng)求已經(jīng)成功。

  201 Created:請(qǐng)求全部成功,且創(chuàng)建了新新資源。

  202 Accepted:請(qǐng)求已經(jīng)接受處理,但是處理還沒有完成。

  203 Non-Authoriative Infomation:實(shí)體頭部中返回的元信息不實(shí)在原始服務(wù)器有效地確定的集合,而是從本地或第三方拷貝收集的。

  204 No Content:服務(wù)器已經(jīng)完成請(qǐng)求;

  205 Reset Content:服務(wù)器已經(jīng)完成請(qǐng)求且用戶代理應(yīng)該復(fù)位引起請(qǐng)求發(fā)送的文檔視圖。

  206 Partial Content: 服務(wù)器資源已經(jīng)完成局部資源的GET請(qǐng)求;

  重定向

  這類狀態(tài)碼指示,需要用戶代理采取更進(jìn)一步的行為來完成請(qǐng)求。

  300 Multiple Choices:所請(qǐng)求的資源符合表達(dá)式集合中的任何一個(gè),每個(gè)都有它自己的特殊位置。

  301 Moved Permannently:所請(qǐng)求的資源已經(jīng)指定到一個(gè)新的***URI,且將來任何對(duì)該資源的引用都應(yīng)該使用所返回的URI之一。

  302 Found:所請(qǐng)求的資源臨時(shí)存在不同的URI。

  303 See Other:請(qǐng)求的響應(yīng)可以再不同的URI中發(fā)現(xiàn),且應(yīng)該使用GET方法到該資源來獲取它。

  304 Not Modified:如果客戶端執(zhí)行條件GET請(qǐng)求,且允許訪問,但文檔沒有變化,服務(wù)器用該響應(yīng)碼響應(yīng)。

  305 USE Proxy:所請(qǐng)求的資源必須通過Location域中給出的代理來訪問。

  306 : 保留;

  客戶端錯(cuò)誤:

  4xx類的狀態(tài)碼用于看起來客戶端有錯(cuò)誤的情況下。

  400 Bad Request:服務(wù)器不能理解該請(qǐng)求,由于畸形的語(yǔ)法??蛻舳瞬粦?yīng)該重復(fù)沒有經(jīng)修改的請(qǐng)求。

  401 unauthorized:請(qǐng)求需呀用戶認(rèn)證。

  402 Payment Required:保留;

  403 Forbidden:服務(wù)器理解請(qǐng)求,但拒絕完成它。

  404 Not Found: 服務(wù)器不能匹配Request-URI的任何東西;

  405 Method not Allowed:Request-Line 中指定的方法不允許用到由Request-URI標(biāo)識(shí)的資源。

  406 Not Acceptable:請(qǐng)求所標(biāo)識(shí)的資源的內(nèi)容特性不被請(qǐng)求中所發(fā)送的接受頭部所接受,所以不能生成響應(yīng);

  407:同401類似

  408 Request Timeout:在服務(wù)器準(zhǔn)備等待的時(shí)間內(nèi),客戶端沒有產(chǎn)生任何請(qǐng)求。

  409 Conflict:請(qǐng)求沒有完成,因?yàn)閷?duì)資源現(xiàn)有狀態(tài)的沖突;

  410 Gone:所請(qǐng)求的資源不再服務(wù)器上有效,且不知道轉(zhuǎn)發(fā)地址。

  411 Length required:服務(wù)器拒絕接受沒有定義的請(qǐng)求;

  412 Precondition Failed:在一個(gè)或多個(gè)請(qǐng)求頭部域給出的前提在服務(wù)器上測(cè)試評(píng)估失敗。

  413 :服務(wù)器拒絕處理請(qǐng)求,因?yàn)榍槿?shí)體長(zhǎng)于服務(wù)器愿意或能夠處理的長(zhǎng)度;

  414 :服務(wù)器拒絕服務(wù)請(qǐng)求,因?yàn)镽equest-URI長(zhǎng)于服務(wù)器愿意解析的長(zhǎng)度;

  415 : 服務(wù)器拒絕服務(wù)請(qǐng)求,因?yàn)檎?qǐng)求的實(shí)體是請(qǐng)求方法所請(qǐng)求的資源所不支持的格式;

  416 : 服務(wù)器應(yīng)該返回該狀態(tài)碼的響應(yīng),如果請(qǐng)求包括Range請(qǐng)求頭部,且該域中的范圍指定沒喲覆蓋任何選擇西苑的當(dāng)前長(zhǎng)度;

  服務(wù)器錯(cuò)誤

  由數(shù)字5打頭的響應(yīng)狀態(tài)碼表示服務(wù)器已經(jīng)明顯處于錯(cuò)誤的狀況下或沒有能力執(zhí)行請(qǐng)求;

  500 Internal Server Error:服務(wù)器發(fā)生非預(yù)期情況,阻止它完成請(qǐng)求。

  501 not implemented:服務(wù)器不提供完成請(qǐng)所需要的功能;

  502 Bad Gateway:當(dāng)作為網(wǎng)關(guān)或代理時(shí),服務(wù)器從它靠近的上游服務(wù)器收到試圖完成請(qǐng)求的無效響應(yīng)。

  503 Service unavailable:服務(wù)器當(dāng)前不能處理請(qǐng)求,因?yàn)榕R時(shí)性的負(fù)載過重或服務(wù)器維護(hù)中;

  504 Gateway Timeout:當(dāng)作為網(wǎng)關(guān)或代理時(shí),服務(wù)器試圖完成請(qǐng)求是沒有從URI指定我上游服務(wù)器或一些其它所需來訪問的輔助服務(wù)器收到定時(shí)響應(yīng);

  505 HTTP Version Not Supported:服務(wù)器不支持,或拒絕支持,請(qǐng)求消息中使用的HTTP協(xié)議版本。

  HTTP緩存:

  HTTP一般用在分布式信息系統(tǒng),其性能可能通過使用響應(yīng)緩存來改善。

 

責(zé)任編輯:林琳 來源: Chinaunix博客
相關(guān)推薦

2011-08-09 14:08:51

iPhoneHTTP請(qǐng)求協(xié)議

2016-07-29 10:37:00

互聯(lián)網(wǎng)httphtml

2010-09-28 09:34:28

2019-08-23 06:36:32

2014-11-27 09:38:12

2019-04-02 08:36:12

2014-06-18 09:25:07

HTTP

2010-08-29 20:46:53

DHCP協(xié)議

2010-09-17 14:24:00

SIP協(xié)議詳解

2010-08-13 09:39:48

OSPF協(xié)議

2021-04-14 14:16:58

HttpHttp協(xié)議網(wǎng)絡(luò)協(xié)議

2012-09-24 14:09:31

C#網(wǎng)絡(luò)協(xié)議C

2014-10-22 09:36:41

TCPIP

2017-05-26 10:35:13

前端HTTP

2014-06-05 17:02:41

FTP

2010-06-08 12:47:07

HTTP協(xié)議應(yīng)用

2011-08-17 10:16:35

iPhone應(yīng)用HTTP請(qǐng)求協(xié)議

2021-03-05 11:20:24

HTTPWebshellWeb服務(wù)器

2010-06-08 10:36:14

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

2020-06-17 21:39:11

HTTP協(xié)議服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)