# HTTP協(xié)議

HTTP協(xié)議的主要特點

  • 簡單快速
  • 靈活
  • 無連接
  • 無狀態(tài)

HTTP報文的組成部分

請求報文

  • 請求行(包含HTTP方法穿稳、頁面地址坝橡、HTTP協(xié)議蜒茄、HTTP版本)
  • 請求頭
  • 空行
  • 請求體

響應(yīng)報文

  • 狀態(tài)行
  • 響應(yīng)頭
  • 空行
  • 響應(yīng)體

HTTP方法

  • GET(獲取資源)
  • POST(傳輸資源)
  • PUT(更新資源)
  • DELETE(刪除資源)
  • HEAD(獲取報文首部)

POST和GET的區(qū)別

  • GET在瀏覽器回退時是無害的蚊丐,而POST會再次提交請求
  • GET產(chǎn)生的URL地址可以被收藏丧慈,而POST不可以
  • GET請求會被瀏覽器主動緩存耸采,而POST不會兴泥,除非主動設(shè)置
  • GET請求只能進行URL編碼,而POST支持多種編碼方式
  • GET請求參數(shù)會被完整保留在瀏覽器的歷史記錄里虾宇,而POST的參數(shù)不會保留
  • GET請求在URL中傳送的參數(shù)是有長度限制的搓彻,而POST沒有限制
  • 對請求的數(shù)據(jù)類型,GET只接受ASCII字符嘱朽,而POST沒有限制
  • GET比POST更不安全旭贬,因為參數(shù)直接暴露在URL上,所以不能傳遞敏感信息
  • GET參數(shù)通過URL傳遞搪泳,POST放在Request body中

HTTP狀態(tài)碼

  • 1xx:指示信息——表示請求已接收骑篙,繼續(xù)處理

  • 2xx:成功——表示請求已被成功接收

    • 200 OK:客戶端請求成功
    • 206 Partial Content:客戶端發(fā)送了一個帶有Range頭的GET請求,服務(wù)器完成了它
  • 3xx:重定向——要完成請求必須進行更進一步的操作

    • 301 Moved Permanently:所請求的頁面已經(jīng)轉(zhuǎn)移至新的url
    • 302 Found:所請求的頁面已經(jīng)臨時轉(zhuǎn)移至新的url
    • 304 Not Modified:客戶端有緩沖的文檔并發(fā)出了一個條件性的請求森书,服務(wù)器告訴客戶靶端,原來的緩沖文檔還可以使用
  • 4xx:客戶端錯誤——請求有語法錯誤或請求無法實現(xiàn)

    • 403 Forbidden:請求的頁面訪問被禁止
    • 404 Not Found:請求資源不存在
  • 5xx:服務(wù)器錯誤——服務(wù)器未能實現(xiàn)合法的請求

    • 500 Internal Server Error:服務(wù)器發(fā)生不可預(yù)期的錯誤原來的緩沖文檔還可以繼續(xù)使用
    • 503 Server Unavailable:請求未完成,服務(wù)器臨時過載或宕機凛膏,一段時間后可能恢復(fù)正常

持久連接

HTTP協(xié)議采用“請求-應(yīng)答”模式杨名,當(dāng)使用普通模式,即非 Keep-Alive 模式時猖毫,每個請求/應(yīng)答客戶和服務(wù)器都要新建一個連接台谍,完成后立即斷開連接(HTTP協(xié)議為無連接的協(xié)議)

當(dāng)使用 Keep-Alive 模式時, Keep-Alive 功能使客戶端到服務(wù)器端的連接持續(xù)有效吁断,當(dāng)出現(xiàn)對服務(wù)器的后續(xù)請求時趁蕊, Keep-Alive 功能避免了建立或重新建立連接(HTTP/1.1 后開始支持)

管線化

當(dāng)使用持久連接時坞生,某個連接上的消息傳遞類似于:

請求1->響應(yīng)1->請求2->響應(yīng)2->請求3->響應(yīng)3

當(dāng)使用管線化的時候,不向上面那樣請求一次響應(yīng)一次掷伙,而是把現(xiàn)在所有的請求打包一起發(fā)送給服務(wù)端是己,而服務(wù)端也把所有的響應(yīng)一起打包響應(yīng)發(fā)送。

請求1->請求2->請求3->響應(yīng)1->響應(yīng)2->響應(yīng)3

管線化特點
  • 管線化機制通過持久連接完成任柜,僅HTTP/1.1及后續(xù)版本支持此技術(shù)
  • 只有GET和HEAD請求可以進行管線化卒废,而POST請求有所限制
  • 初次連接時不應(yīng)啟動管線化機制,因為對方(服務(wù)器)不一定支持HTTP/1.1
  • 管線化不會影響響應(yīng)到來的順序
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宙地,一起剝皮案震驚了整個濱河市摔认,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宅粥,老刑警劉巖参袱,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秽梅,居然都是意外死亡蓖柔,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門风纠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人牢贸,你說我怎么就攤上這事竹观。” “怎么了潜索?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵臭增,是天一觀的道長。 經(jīng)常有香客問我竹习,道長誊抛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任整陌,我火速辦了婚禮拗窃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泌辫。我一直安慰自己随夸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布震放。 她就那樣靜靜地躺著宾毒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪殿遂。 梳的紋絲不亂的頭發(fā)上诈铛,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天乙各,我揣著相機與錄音,去河邊找鬼幢竹。 笑死耳峦,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妨退。 我是一名探鬼主播妇萄,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咬荷!你這毒婦竟也來了冠句?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤幸乒,失蹤者是張志新(化名)和其女友劉穎懦底,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罕扎,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡聚唐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了腔召。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杆查。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖臀蛛,靈堂內(nèi)的尸體忽然破棺而出亲桦,到底是詐尸還是另有隱情,我是刑警寧澤浊仆,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布客峭,位于F島的核電站,受9級特大地震影響抡柿,放射性物質(zhì)發(fā)生泄漏舔琅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一洲劣、第九天 我趴在偏房一處隱蔽的房頂上張望备蚓。 院中可真熱鬧,春花似錦囱稽、人聲如沸星著。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虚循。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間横缔,已是汗流浹背铺遂。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茎刚,地道東北人襟锐。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像膛锭,于是被迫代替她去往敵國和親粮坞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

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