第二章 簡單的HTTP協(xié)議

一 通過請求和響應的交互達成通信

請求從客戶端發(fā)出,最后服務器端響應請求并返回
1.請求報文是由請求方法,請求URI,協(xié)議版本,可選的請求首部字段和內(nèi)容實體構成的

GET /index.htm HTTP/1.1
Host: hackr.jp

上面是從客戶端發(fā)送給某個HTTP服務器端的請求報文中的內(nèi)容
起始行開頭是GET標識請求訪問服務器的類型,稱為方法(method).隨后的字符串/index.htm指明了請求訪問的資源對象.也叫請求URI.最后的HTTP/1.1,即HTTP的版本號,用來提示客戶端使用的HTTP協(xié)議功能
綜合來看,這段請求內(nèi)容的意思是:請求訪問某臺HTTP服務器上的/index.htm頁面資源
2.響應報文基本上由協(xié)議版本,狀態(tài)碼,用以解釋狀態(tài)碼的原因短語,可選的響應首部字段以及實體主體構成

HTTP/1.1 200 OK
Data:Tue,10 Jul 2016 06:50:15 GMT
Content-Length:362
Content-Type:text/html

<html>
...

在接受到請求的服務器,會將請求內(nèi)容的處理結果以響應的形式返回.
在起始行開頭的HTTP/1.1,表示服務器對應的HTTP版本
然后是200 OK表示請求的處理結果的狀態(tài)碼(status code)和原因短語,下一行顯示了創(chuàng)建響應的日期時間,是首部字段內(nèi)的一個屬性
接著以一空行分割,之后的內(nèi)容稱為資源實體的主體(entity body).

二 告知服務器意圖的HTTP方法

1.GET:獲取資源
2.POST:傳輸實體主體
3.PUT:傳輸文件
4.HEAD:獲得報文首部
5.DELETE:刪除文件
6.OPTIONS:詢問支持的方法
7.TRACK:追蹤路徑
8.CONNECT:要求用隧道協(xié)議連接代理

三 持久連接節(jié)省通信量

1.持久連接
1.1http協(xié)議的初始版本中,每進行一次http通信就要斷開一次TCP連接.每次的請求都會造成無謂的TCP連接建立和斷開,增加通信量的開銷
1.2HTTP/1.1和一部分的HTTP/1.0增加了持久連接(HTTP keep-alive)的方法.持久連接的特點是,只要任意一端沒有明確提出斷開連接,則保持TCP連接狀態(tài)
持久連接的好處在于減少了TCP連接的重復建立和斷開造成的額外開銷,減輕了服務器的負載,另外減少開銷的那部分時間,使HTTP請求和響應能夠更早的結束,這樣Web頁面的顯示速度也就相應提高了.在HTTP/1.0中所有的連接默認都是持久連接

2.管線化
持久連接是的多數(shù)請求以管線化(pipelining)方式發(fā)送成為可能.以前發(fā)送請求后需等待并收到響應才能發(fā)送下一個請求.
管線化技術能夠做到同時并行發(fā)送多個請求,不需要一個接一個的等待響應了

四 使用Cookie的狀態(tài)管理

1.HTTP協(xié)議是無狀態(tài)協(xié)議.它不對之前發(fā)生過的請求和響應的狀態(tài)進行管理.也就是說,無法根據(jù)之前的狀態(tài)進行本次的請求處理.
2.假設要求登陸認證的web頁面,本身無法進行狀態(tài)的管理(就是不記錄已登陸的狀態(tài)).那么每次跳轉新頁面不是要再次登陸,就是要在每次請求報文中附加參數(shù)來管理登陸狀態(tài).
3.這樣做的優(yōu)點在于:不保存狀態(tài),減少服務器的CPU以及內(nèi)存資源的消耗.
4.為了保存HTTP無狀態(tài)協(xié)議這個特征的同時又要解決類似的矛盾問題,引入了Cookie技術.Cookie技術通過在請求和響應報文中寫入Cookie信息來控制客戶端的狀態(tài)
5.Cookie會根據(jù)從服務器端發(fā)送的響應報文內(nèi)的一個叫做Set-Cookie的首部字段信息,通知客戶端保存Cookie,當下次客戶端再往服務器發(fā)送請求時,客戶端會自動在請求報文中加入Cookie值后再發(fā)送出去
服務器端發(fā)現(xiàn)客戶端發(fā)送過來的Cookie后,會去檢查究竟是從哪一個客戶端發(fā)來的連接請求,然后對比服務器上的記錄,最后得到之前的狀態(tài)信息

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子晨横,更是在濱河造成了極大的恐慌垒棋,老刑警劉巖腊脱,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宝冕,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機呀忧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來溃睹,“玉大人而账,你說我怎么就攤上這事∫蚱” “怎么了泞辐?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵笔横,是天一觀的道長。 經(jīng)常有香客問我咐吼,道長吹缔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任锯茄,我火速辦了婚禮厢塘,結果婚禮上,老公的妹妹穿的比我還像新娘肌幽。我一直安慰自己晚碾,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布喂急。 她就那樣靜靜地躺著格嘁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪廊移。 梳的紋絲不亂的頭發(fā)上糕簿,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音狡孔,去河邊找鬼懂诗。 笑死,一個胖子當著我的面吹牛苗膝,可吹牛的內(nèi)容都是我干的殃恒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼荚醒,長吁一口氣:“原來是場噩夢啊……” “哼芋类!你這毒婦竟也來了隆嗅?” 一聲冷哼從身側響起界阁,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胖喳,沒想到半個月后泡躯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡丽焊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年较剃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片技健。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仪吧,到底是詐尸還是另有隱情,我是刑警寧澤偿短,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站馋没,受9級特大地震影響昔逗,放射性物質發(fā)生泄漏。R本人自食惡果不足惜篷朵,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一勾怒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧声旺,春花似錦笔链、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缚够,卻和暖如春幔妨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谍椅。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工误堡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雏吭。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓锁施,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杖们。 傳聞我的和親對象是個殘疾皇子悉抵,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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