2019-05-28

關(guān)于HTTP

  • HTTP協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫,是用于從萬維網(wǎng)(WWW:World Wide Web )服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議驾胆。
  • HTTP是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡(jiǎn)捷缺厉、快速的方式,適用于分布式超媒體信息系統(tǒng)涮雷。它于1990年提出各拷,經(jīng)過幾年的使用與發(fā)展,得到不斷地完善和擴(kuò)展婚惫。
  • HTTP協(xié)議工作于客戶端-服務(wù)端架構(gòu)之上椿胯。瀏覽器作為HTTP客戶端通過URL向HTTP服務(wù)端即WEB服務(wù)器發(fā)送所有請(qǐng)求筷登。Web服務(wù)器根據(jù)接收到的請(qǐng)求后,向客戶端發(fā)送響應(yīng)信息哩盲。

Server+Client+ HTTP

  • 瀏覽器負(fù)責(zé)發(fā)起請(qǐng)求
  • 服務(wù)器在 80 端口接收請(qǐng)求
  • 服務(wù)器負(fù)責(zé)返回內(nèi)容(響應(yīng))
  • 瀏覽器負(fù)責(zé)下載響應(yīng)內(nèi)容
  • HTTP 的作用就是指導(dǎo)瀏覽器和服務(wù)器如何進(jìn)行溝通前方。


    請(qǐng)求與響應(yīng)

HTTP——請(qǐng)求消息Request

客戶端發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)器的請(qǐng)求消息包括以下格式:
請(qǐng)求行(request line)狈醉、請(qǐng)求頭部(header)、空行和請(qǐng)求數(shù)據(jù)四個(gè)部分組成惠险。
Get請(qǐng)求例子:
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Zhang: xxx

第一部分:請(qǐng)求行舔糖,用來說明請(qǐng)求類型,要訪問的資源以及所使用的HTTP版本

  • GET說明請(qǐng)求類型為GET/為要訪問的資源莺匠, 該行的最后一部分說明使用的是http1.1版本金吗。
    第二部分:請(qǐng)求頭部,緊接著請(qǐng)求行(即第一行)之后的部分趣竣,用來說明服務(wù)器要使用的附加信息
  • 第二行起為請(qǐng)求頭部摇庙,HOST將指出請(qǐng)求的目的地。User-Agent,服務(wù)器端和客戶端腳本都能訪問它,它是瀏覽器類型檢測(cè)邏輯的重要基礎(chǔ)遥缕。該信息由你的瀏覽器來定義,并且在每個(gè)請(qǐng)求中自動(dòng)發(fā)送等等卫袒。Zhang:xxx無意義,可有可無单匣。
    第三部分:空行夕凝,請(qǐng)求頭部后面的空行是必須的
  • 即使第四部分的請(qǐng)求數(shù)據(jù)為空,也必須有空行户秤。
    第四部分:請(qǐng)求數(shù)據(jù)也叫主體码秉,可以添加任意的其他數(shù)據(jù)。
  • 這個(gè)例子的請(qǐng)求數(shù)據(jù)為空鸡号。
POST請(qǐng)求例子:

POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Zhang: xxx
Content-Length: 10
Content-Type: application/x-www-form-urlencoded

1234567890

  • 第一部分:請(qǐng)求行转砖,第一行明了是post請(qǐng)求,以及http1.1版本鲸伴。
  • 第二部分:請(qǐng)求頭部府蔗,第二行至第七行。
  • 第三部分:空行汞窗,第八行是空行姓赤。
  • 第四部分:請(qǐng)求數(shù)據(jù),第九行仲吏。

HTTP——響應(yīng)消息Response

一般情況下不铆,服務(wù)器接收并處理客戶端發(fā)過來的請(qǐng)求后會(huì)返回一個(gè)HTTP的響應(yīng)消息。
HTTP響應(yīng)也由四個(gè)部分組成蜘矢,分別是:狀態(tài)行狂男、消息報(bào)頭综看、空行和響應(yīng)正文品腹。

[http響應(yīng)消息格式].jpg

HTTP/1.1 302 Found
Connection: Keep-Alive
Content-Length: 17931
Content-Type: text/html
Date: Tue, 10 Oct 2017 09:19:47 GMT
Etag: "54d9749e-460b"
Server: bfe/1.0.8.18

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">后面太長(zhǎng),省略了……
第一部分:狀態(tài)行红碑,由HTTP協(xié)議版本號(hào)舞吭, 狀態(tài)碼泡垃, 狀態(tài)消息 三部分組成。

  • 第一行為狀態(tài)行羡鸥,(HTTP/1.1)表明HTTP版本為1.1版本蔑穴,狀態(tài)碼為302,狀態(tài)消息為(Found)

第二部分:消息報(bào)頭惧浴,用來說明客戶端要使用的一些附加信息

  • 第二行到第六行為消息報(bào)頭存和,
    Date:生成響應(yīng)的日期和時(shí)間;Content-Type:指定了MIME類型的HTML(text/html),編碼類型是UTF-8

第三部分:空行衷旅,消息報(bào)頭后面的空行是必須的

第四部分:響應(yīng)正文捐腿,服務(wù)器返回給客戶端的文本信息。

  • 空行后面的html部分為響應(yīng)正文柿顶。

如何使用Chrome開發(fā)者工具查看 HTTP 請(qǐng)求內(nèi)容以及響應(yīng)內(nèi)容

第一步:打開 Network


第一步.png

第一步...png

第二步:輸入網(wǎng)址


第二步.png

第三步:選中第一個(gè)響應(yīng)


第三步.png

第四步:在Headers欄點(diǎn)擊Response Headers茄袖,或點(diǎn)擊Request Headers。


第四步.png

第五步:點(diǎn)擊「view source」嘁锯,點(diǎn)擊「view source」宪祥,點(diǎn)擊「view source」就可以了。


第五步.png

查看 Response 或者 Preview家乘,你會(huì)看到響應(yīng)的第 4 部分


如何使用Curl命令

curl命令是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具蝗羊。它支持文件的上傳和下載,所以是綜合傳輸工具仁锯,但按傳統(tǒng)肘交,習(xí)慣稱curl為下載工具。作為一款強(qiáng)力工具扑馁,curl支持包括HTTP涯呻、HTTPS、ftp等眾多協(xié)議腻要,還支持POST复罐、cookies、認(rèn)證雄家、從指定偏移處下載部分文件效诅、用戶代理字符串、限速趟济、文件大小乱投、進(jìn)度條等特征。做網(wǎng)頁(yè)處理流程和數(shù)據(jù)檢索自動(dòng)化顷编,curl可以祝一臂之力戚炫。
參考文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市媳纬,隨后出現(xiàn)的幾起案子双肤,更是在濱河造成了極大的恐慌施掏,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茅糜,死亡現(xiàn)場(chǎng)離奇詭異七芭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蔑赘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門狸驳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缩赛,你說我怎么就攤上這事锌历。” “怎么了峦筒?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵究西,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我物喷,道長(zhǎng)卤材,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任峦失,我火速辦了婚禮扇丛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘尉辑。我一直安慰自己帆精,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布隧魄。 她就那樣靜靜地躺著卓练,像睡著了一般。 火紅的嫁衣襯著肌膚如雪购啄。 梳的紋絲不亂的頭發(fā)上襟企,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音狮含,去河邊找鬼顽悼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛几迄,可吹牛的內(nèi)容都是我干的蔚龙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼映胁,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼木羹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屿愚,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤汇跨,失蹤者是張志新(化名)和其女友劉穎务荆,沒想到半個(gè)月后妆距,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體穷遂,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年娱据,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚪黑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡中剩,死狀恐怖忌穿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情结啼,我是刑警寧澤掠剑,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站郊愧,受9級(jí)特大地震影響朴译,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜属铁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一眠寿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧焦蘑,春花似錦盯拱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至拼卵,卻和暖如春甚侣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背间学。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工殷费, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人低葫。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓详羡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嘿悬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子实柠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

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

  • API定義規(guī)范 本規(guī)范設(shè)計(jì)基于如下使用場(chǎng)景: 請(qǐng)求頻率不是非常高:如果產(chǎn)品的使用周期內(nèi)請(qǐng)求頻率非常高,建議使用雙通...
    有涯逐無涯閱讀 2,539評(píng)論 0 6
  • 2系列200 OK請(qǐng)求已成功善涨,請(qǐng)求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回窒盐。201 Created請(qǐng)求已經(jīng)被實(shí)現(xiàn)草则,而且...
    Y像夢(mèng)一樣自由閱讀 3,575評(píng)論 1 5
  • 第一層樓 什么是 Cookie 和 Session ?初級(jí)程序員高頻面試題。 什么是 Cookie HTTP Co...
    huxt閱讀 233評(píng)論 0 0
  • 目錄 一蟹漓、HTTP協(xié)議簡(jiǎn)介 二炕横、Fiddler簡(jiǎn)介 三、Fiddler工作原理 四葡粒、Fiddler界面介紹 五份殿、F...
    huxt閱讀 36,194評(píng)論 9 26
  • 百花潭公園小記 百花潭公園是浣花溪?dú)v史文化風(fēng)景區(qū)的核心區(qū)域,位于成都市西南方的...
    申維希閱讀 476評(píng)論 0 2