HTTP協(xié)議

HTTP協(xié)議
1.簡(jiǎn)介
HTTP協(xié)議(Hyper Text Transfer Protocol,超文本傳輸協(xié)議),是用于從萬維網(wǎng)(WWW:World Wide Web )服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議姿骏。
HTTP基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)左冬。
HTTP基于客戶端/服務(wù)端(C/S)架構(gòu)模型,通過一個(gè)可靠的鏈接來交換信息范抓,是一個(gè)無狀態(tài)的請(qǐng)求/響應(yīng)協(xié)議骄恶。
2.特點(diǎn)
(1)HTTP是無連接:無連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求匕垫,并收到客戶的應(yīng)答后叠蝇,即斷開連接。采用這種方式可以節(jié)省傳輸時(shí)間年缎。
(2)HTTP是媒體獨(dú)立的:只要客戶端和服務(wù)器知道如何處理的數(shù)據(jù)內(nèi)容悔捶,任何類型的數(shù)據(jù)都可以通過HTTP發(fā)送〉ノ撸客戶端以及服務(wù)器指定使用適合的MIME-type內(nèi)容類型蜕该。
(3)HTTP是無狀態(tài):無狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息洲鸠,則它必須重傳堂淡,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面扒腕,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快绢淀。

2.通信流程



4.消息結(jié)構(gòu)
HTTP使用統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifiers, URI)來傳輸數(shù)據(jù)和建立連接。一旦建立連接后瘾腰,數(shù)據(jù)消息就通過類似Internet郵件所使用的格式[RFC5322]和多用途Internet郵件擴(kuò)展(MIME)[RFC2045]來傳送皆的。

客戶端請(qǐng)求消息:請(qǐng)求行、請(qǐng)求頭部蹋盆、空行和請(qǐng)求數(shù)據(jù)费薄。
1
2
3
4

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3
OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com Accept-Language: en, mi

服務(wù)端響應(yīng)消息:狀態(tài)行硝全、消息報(bào)頭、空行和響應(yīng)正文楞抡。
1
2
3
4
5
6
7
8
9

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

5.請(qǐng)求方法
GET 請(qǐng)求指定的頁(yè)面信息伟众,并返回實(shí)體主體凤瘦。
HEAD 類似于get請(qǐng)求绣夺,只不過返回的響應(yīng)中沒有具體的內(nèi)容像街,用于獲取報(bào)頭
POST 向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)比藻。數(shù)據(jù)被包含在請(qǐng)求體中测僵。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改肤频。
PUT 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容鹤啡。
DELETE 請(qǐng)求服務(wù)器刪除指定的頁(yè)面作煌。
CONNECT HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器梗顺。
OPTIONS 允許客戶端查看服務(wù)器的性能泡孩。
TRACE 回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷寺谤。

6.狀態(tài)碼
HTTP狀態(tài)碼分類 1** 信息仑鸥,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作
2** 成功变屁,操作被成功接收并處理
3** 重定向眼俊,需要進(jìn)一步的操作以完成請(qǐng)求
4** 客戶端錯(cuò)誤,請(qǐng)求包含語法錯(cuò)誤或無法完成請(qǐng)求
5** 服務(wù)器錯(cuò)誤粟关,服務(wù)器在處理請(qǐng)求的過程中發(fā)生了錯(cuò)

HTTP狀態(tài)碼列表
100 Continue 繼續(xù)疮胖。客戶端應(yīng)繼續(xù)其請(qǐng)求
101 Switching Protocols 切換協(xié)議闷板。服務(wù)器根據(jù)客戶端的請(qǐng)求切換協(xié)議澎灸。只能切換到更高級(jí)的協(xié)議,例如遮晚,切換到HTTP的新版本協(xié)議
200 OK 請(qǐng)求成功性昭。一般用于GET與POST請(qǐng)求
201 Created 已創(chuàng)建。成功請(qǐng)求并創(chuàng)建了新的資源
202 Accepted 已接受县遣。已經(jīng)接受請(qǐng)求糜颠,但未處理完成
203 Non-Authoritative Information 非授權(quán)信息。請(qǐng)求成功萧求。但返回的meta信息不在原始的服務(wù)器其兴,而是一個(gè)副本
204 No Content 無內(nèi)容。服務(wù)器成功處理夸政,但未返回內(nèi)容元旬。在未更新網(wǎng)頁(yè)的情況下,可確保瀏覽器繼續(xù)顯示當(dāng)前文檔
205 Reset Content 重置內(nèi)容。服務(wù)器處理成功法绵,用戶終端(例如:瀏覽器)應(yīng)重置文檔視圖±业猓可通過此返回碼清除瀏覽器的表單域
206 Partial Content 部分內(nèi)容朋譬。服務(wù)器成功處理了部分GET請(qǐng)求
300 Multiple Choices 多種選擇。請(qǐng)求的資源可包括多個(gè)位置兴垦,相應(yīng)可返回一個(gè)資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇
301 Moved Permanently 永久移動(dòng)徙赢。請(qǐng)求的資源已被永久的移動(dòng)到新URI,返回信息會(huì)包括新的URI探越,瀏覽器會(huì)自動(dòng)定向到新URI狡赐。今后任何新的請(qǐng)求都應(yīng)使用新的URI代替
302 Found 臨時(shí)移動(dòng)。與301類似钦幔。但資源只是臨時(shí)被移動(dòng)枕屉。客戶端應(yīng)繼續(xù)使用原有URI
303 See Other 查看其它地址鲤氢。與301類似搀擂。使用GET和POST請(qǐng)求查看
304 Not Modified 未修改。所請(qǐng)求的資源未修改卷玉,服務(wù)器返回此狀態(tài)碼時(shí)哨颂,不會(huì)返回任何資源∠嘀郑客戶端通常會(huì)緩存訪問過的資源威恼,通過提供一個(gè)頭信息指出客戶端希望只返回在指定日期之后修改的資源
305 Use Proxy 使用代理。所請(qǐng)求的資源必須通過代理訪問
306 Unused 已經(jīng)被廢棄的HTTP狀態(tài)碼
307 Temporary Redirect 臨時(shí)重定向寝并。與302類似箫措。使用GET請(qǐng)求重定向
400 Bad Request 客戶端請(qǐng)求的語法錯(cuò)誤,服務(wù)器無法理解
401 Unauthorized 請(qǐng)求要求用戶的身份認(rèn)證
402 Payment Required 保留衬潦,將來使用
403 Forbidden 服務(wù)器理解請(qǐng)求客戶端的請(qǐng)求蒂破,但是拒絕執(zhí)行此請(qǐng)求
404 Not Found 服務(wù)器無法根據(jù)客戶端的請(qǐng)求找到資源(網(wǎng)頁(yè))。通過此代碼别渔,網(wǎng)站設(shè)計(jì)人員可設(shè)置"您所請(qǐng)求的資源無法找到"的個(gè)性頁(yè)面
405 Method Not Allowed 客戶端請(qǐng)求中的方法被禁止
406 Not Acceptable 服務(wù)器無法根據(jù)客戶端請(qǐng)求的內(nèi)容特性完成請(qǐng)求
407 Proxy Authentication Required 請(qǐng)求要求代理的身份認(rèn)證附迷,與401類似,但請(qǐng)求者應(yīng)當(dāng)使用代理進(jìn)行授權(quán)
408 Request Time-out 服務(wù)器等待客戶端發(fā)送的請(qǐng)求時(shí)間過長(zhǎng)哎媚,超時(shí)
409 Conflict 服務(wù)器完成客戶端的PUT請(qǐng)求是可能返回此代碼喇伯,服務(wù)器處理請(qǐng)求時(shí)發(fā)生了沖突
410 Gone 客戶端請(qǐng)求的資源已經(jīng)不存在。410不同于404拨与,如果資源以前有現(xiàn)在被永久刪除了可使用410代碼稻据,網(wǎng)站設(shè)計(jì)人員可通過301代碼指定資源的新位置
411 Length Required 服務(wù)器無法處理客戶端發(fā)送的不帶Content-Length的請(qǐng)求信息
412 Precondition Failed 客戶端請(qǐng)求信息的先決條件錯(cuò)誤
413 Request Entity Too Large 由于請(qǐng)求的實(shí)體過大,服務(wù)器無法處理,因此拒絕請(qǐng)求捻悯。為防止客戶端的連續(xù)請(qǐng)求匆赃,服務(wù)器可能會(huì)關(guān)閉連接。如果只是服務(wù)器暫時(shí)無法處理今缚,則會(huì)包含一個(gè)Retry-After的響應(yīng)信息
414 Request-URI Too Large 請(qǐng)求的URI過長(zhǎng)(URI通常為網(wǎng)址)算柳,服務(wù)器無法處理
415 Unsupported Media Type 服務(wù)器無法處理請(qǐng)求附帶的媒體格式
416 Requested range not satisfiable 客戶端請(qǐng)求的范圍無效
417 Expectation Failed 服務(wù)器無法滿足Expect的請(qǐng)求頭信息
500 Internal Server Error 服務(wù)器內(nèi)部錯(cuò)誤,無法完成請(qǐng)求
501 Not Implemented 服務(wù)器不支持請(qǐng)求的功能姓言,無法完成請(qǐng)求
502 Bad Gateway 充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器瞬项,從遠(yuǎn)端服務(wù)器接收到了一個(gè)無效的請(qǐng)求
503 Service Unavailable 由于超載或系統(tǒng)維護(hù),服務(wù)器暫時(shí)的無法處理客戶端的請(qǐng)求何荚。延時(shí)的長(zhǎng)度可包含在服務(wù)器的Retry-After頭信息中
504 Gateway Time-out 充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器囱淋,未及時(shí)從遠(yuǎn)端服務(wù)器獲取請(qǐng)求
505 HTTP Version not supported 服務(wù)器不支持請(qǐng)求的HTTP協(xié)議的版本,無法完成處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末餐塘,一起剝皮案震驚了整個(gè)濱河市妥衣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌戒傻,老刑警劉巖称鳞,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稠鼻,居然都是意外死亡冈止,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門候齿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熙暴,“玉大人,你說我怎么就攤上這事慌盯≈苊梗” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵亚皂,是天一觀的道長(zhǎng)俱箱。 經(jīng)常有香客問我,道長(zhǎng)灭必,這世上最難降的妖魔是什么狞谱? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮禁漓,結(jié)果婚禮上跟衅,老公的妹妹穿的比我還像新娘。我一直安慰自己播歼,他們只是感情好伶跷,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般叭莫。 火紅的嫁衣襯著肌膚如雪蹈集。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天雇初,我揣著相機(jī)與錄音拢肆,去河邊找鬼。 笑死抵皱,一個(gè)胖子當(dāng)著我的面吹牛善榛,可吹牛的內(nèi)容都是我干的辩蛋。 我是一名探鬼主播呻畸,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼悼院!你這毒婦竟也來了伤为?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤据途,失蹤者是張志新(化名)和其女友劉穎绞愚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颖医,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡位衩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熔萧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糖驴。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖佛致,靈堂內(nèi)的尸體忽然破棺而出贮缕,到底是詐尸還是另有隱情,我是刑警寧澤俺榆,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布感昼,位于F島的核電站,受9級(jí)特大地震影響罐脊,放射性物質(zhì)發(fā)生泄漏定嗓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一萍桌、第九天 我趴在偏房一處隱蔽的房頂上張望蜕乡。 院中可真熱鬧,春花似錦梗夸、人聲如沸层玲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)辛块。三九已至畔派,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間润绵,已是汗流浹背线椰。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尘盼,地道東北人憨愉。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像卿捎,于是被迫代替她去往敵國(guó)和親配紫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 一午阵、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,335評(píng)論 6 152
  • 本篇文章篇幅比較長(zhǎng)躺孝,先來個(gè)思維導(dǎo)圖預(yù)覽一下。 一底桂、概述 1.計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分層 2.TCP/IP 通信傳輸流 ...
    滌生_Woo閱讀 54,974評(píng)論 24 557
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng)植袍,內(nèi)容來源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,210評(píng)論 3 82
  • HTTP概述 超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol) 是互聯(lián)網(wǎng)上應(yīng)用最...
    曹淵說創(chuàng)業(yè)閱讀 3,843評(píng)論 2 61
  • 1.自然是無法“毀滅”的籽懦。6500萬年前于个,一顆隕石讓恐龍滅絕,但卻為哺乳類動(dòng)物開啟了一條康莊大道暮顺。 2.現(xiàn)代工業(yè)對(duì)...
    hanxuerping閱讀 132評(píng)論 0 0