HTTP協(xié)議簡介

HTTP協(xié)議簡介

image

HTTP是一個基于請求與響應(yīng)模式的客燕、無狀態(tài)的鸳劳、應(yīng)用層的協(xié)議,骋泊辏基于TCP的連接方式赏廓,HTTP1.1版本中給出一種持續(xù)連接的機(jī)制,絕大多數(shù)的Web開發(fā)傍妒,都是構(gòu)建在HTTP協(xié)議之上的Web應(yīng)用幔摸。

  • HTTP URL (URL是一種特殊類型的URI,包含了用于查找某個資源的足夠的信息)的格式如下:
    http://host[":"port][abs_path]
    http表示要通過HTTP協(xié)議來定位網(wǎng)絡(luò)資源颤练;host表示合法的Internet主機(jī)域名或者IP地址既忆;port指定一個端口號,為空則使用缺省端口80嗦玖;abs_path指定請求資源的URI患雇;如果URL中沒有給出abs_path,那么當(dāng)它作為請求URI時宇挫,必須以“/”的形式給出苛吱,通常這個工作瀏覽器自動幫我們完成。

  • HTTP報文

  • 請求報文(HTTP Request)

    HTTP 協(xié)議是以 ASCII 碼傳輸器瘪,建立在 TCP/IP 協(xié)議之上的應(yīng)用層規(guī)范翠储。規(guī)范把 HTTP 請求分為三個部分:狀態(tài)行绘雁、請求頭、消息主體彰亥。類似于下面這樣:

    <method> <request-URL> <version>
     <headers>
    
     <entity-body>
    

    HTTP定義了與服務(wù)器交互的不同方法咧七,最基本的方法有4種,分別是GET任斋,POST继阻,PUT,DELETE废酷。URL全稱是資源描述符瘟檩,我們可以這樣認(rèn)為:一個URL地址,它用于描述一個網(wǎng)絡(luò)上的資源澈蟆,而 HTTP 中的GET墨辛,POST,PUT趴俘,DELETE就對應(yīng)著對這個資源的查睹簇,增,改寥闪,刪4個操作太惠。

    • GET用于信息獲取,而且應(yīng)該是安全的 和 冪等的疲憋。

      所謂安全的意味著該操作用于獲取信息而非修改信息凿渊。換句話說,GET 請求一般不應(yīng)產(chǎn)生副作用缚柳。就是說埃脏,它僅僅是獲取資源信息,就像數(shù)據(jù)庫查詢一樣秋忙,不會修改彩掐,增加數(shù)據(jù),不會影響資源的狀態(tài)灰追。

      冪等的意味著對同一URL的多個請求應(yīng)該返回同樣的結(jié)果佩谷。

  • 響應(yīng)報文(HTTP Response)

    HTTP 響應(yīng)與 HTTP 請求相似,HTTP響應(yīng)也由3個部分構(gòu)成监嗜,分別是:

    • 狀態(tài)行

    • 響應(yīng)頭(Response Header)

    • 響應(yīng)正文
      狀態(tài)行由協(xié)議版本谐檀、數(shù)字形式的狀態(tài)代碼、及相應(yīng)的狀態(tài)描述裁奇,各元素之間以空格分隔桐猬。

    • 常見的狀態(tài)碼有如下幾種:

      • 200 OK 客戶端請求成功
      • 301 Moved Permanently 請求永久重定向
      • 302 Moved Temporarily 請求臨時重定向
      • 304 Not Modified 文件未修改,可以直接使用緩存的文件刽肠。
      • 400 Bad Request 由于客戶端請求有語法錯誤溃肪,不能被服務(wù)器所理解免胃。
      • 401 Unauthorized 請求未經(jīng)授權(quán)。這個狀態(tài)代碼必須和WWW-Authenticate報頭域一起使用
      • 403 Forbidden 服務(wù)器收到請求惫撰,但是拒絕提供服務(wù)羔沙。服務(wù)器通常會在響應(yīng)正文中給出不提供服務(wù)的原因
      • 404 Not Found 請求的資源不存在,例如厨钻,輸入了錯誤的URL
      • 500 Internal Server Error 服務(wù)器發(fā)生不可預(yù)期的錯誤扼雏,導(dǎo)致無法完成客戶端的請求。
      • 503 Service Unavailable 服務(wù)器當(dāng)前不能夠處理客戶端的請求夯膀,在一段時間之后诗充,服務(wù)器可能會恢復(fù)正常。
  • Example

    • 上面的介紹可能聽的有點迷糊诱建,我們來實際操作一下

      用Chrome打開Blog
      按下鍵盤上的F12鍵蝴蜓,打開開發(fā)人員工具

      image

      點擊紅框內(nèi)的Network可以看到當(dāng)前資源加載情況(如果Network項中為空白就在網(wǎng)頁上刷新一遍再切換回來看看)
      點擊其中一個資源
      [圖片上傳失敗...(image-daa578-1548249118307)]
      這時候可以看到右側(cè)有一個Headers欄已經(jīng)打開

      其中的General包括了上面我們講的請求URL,請求方法俺猿,相應(yīng)的狀態(tài)碼以及一些其他的東西

      Response Headers響應(yīng)頭及一些相關(guān)信息

      Request Headers請求頭包含我們電腦向服務(wù)器發(fā)起請求的請求頭信息茎匠,可以看到其中user-agent包含了我們的電腦信息

      `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36`
      

      Mozila是當(dāng)時瀏覽器大戰(zhàn)留下來的小玩意,表示偽裝成Mozilla排版引擎的瀏覽器以達(dá)到兼容
      押袍,Windows NT 10.0表明了我們的系統(tǒng)內(nèi)核版本汽抚,AppleWebKit/537.36 (KHTML, like Gecko)表示瀏覽器所使用的平臺及瀏覽器平臺的細(xì)節(jié),Chrome/62.0.3202.75 Safari/537.36是被瀏覽器用于指示特定的直接由瀏覽器提供或者通過第三方提供的可用的增強(qiáng)功能伯病。

      更多詳細(xì)內(nèi)容請到HTTP協(xié)議詳解了解

      當(dāng)我們寫一個爬蟲時,很多時候都是在用GET否过、POST請求方法午笛,通過請求庫向服務(wù)器請求數(shù)據(jù),獲取到的數(shù)據(jù)再進(jìn)行處理苗桂。有些時候網(wǎng)站不想讓你抓取他們的數(shù)據(jù)药磺,就會根據(jù)一些請求信息進(jìn)行排查,像User Agent煤伟、Host癌佩、Referer、IP這都是排查的重點便锨,所以在更高級的爬蟲學(xué)習(xí)中围辙,我們會對請求信息進(jìn)行偽造,以達(dá)到欺騙對方反爬蟲邏輯的目的

首發(fā)于個人博客Bismuth

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末放案,一起剝皮案震驚了整個濱河市姚建,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吱殉,老刑警劉巖掸冤,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厘托,死亡現(xiàn)場離奇詭異,居然都是意外死亡稿湿,警方通過查閱死者的電腦和手機(jī)铅匹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饺藤,“玉大人包斑,你說我怎么就攤上這事〔呔” “怎么了舰始?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咽袜。 經(jīng)常有香客問我丸卷,道長,這世上最難降的妖魔是什么询刹? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任谜嫉,我火速辦了婚禮,結(jié)果婚禮上凹联,老公的妹妹穿的比我還像新娘沐兰。我一直安慰自己,他們只是感情好蔽挠,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布住闯。 她就那樣靜靜地躺著,像睡著了一般澳淑。 火紅的嫁衣襯著肌膚如雪比原。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天杠巡,我揣著相機(jī)與錄音量窘,去河邊找鬼。 笑死氢拥,一個胖子當(dāng)著我的面吹牛蚌铜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嫩海,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼溺欧,長吁一口氣:“原來是場噩夢啊……” “哼樱哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤淫茵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡成箫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了旨枯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹬昌。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖攀隔,靈堂內(nèi)的尸體忽然破棺而出皂贩,到底是詐尸還是另有隱情,我是刑警寧澤昆汹,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布明刷,位于F島的核電站,受9級特大地震影響满粗,放射性物質(zhì)發(fā)生泄漏辈末。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一映皆、第九天 我趴在偏房一處隱蔽的房頂上張望挤聘。 院中可真熱鬧,春花似錦捅彻、人聲如沸组去。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽从隆。三九已至,卻和暖如春缭裆,著一層夾襖步出監(jiān)牢的瞬間键闺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工幼驶, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人韧衣。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓盅藻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親畅铭。 傳聞我的和親對象是個殘疾皇子氏淑,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

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

  • 摘要 本文轉(zhuǎn)自《go web編程》一書假残,覺得說的比較好,特轉(zhuǎn)過來收藏。 原文地址:web的工作方式辉懒,http協(xié)議簡...
    yorickshan閱讀 544評論 0 0
  • http 簡介 協(xié)議是指計算機(jī)通信網(wǎng)絡(luò)中兩臺計算機(jī)之間進(jìn)行通信必須共同遵守規(guī)則或規(guī)定阳惹。 http協(xié)議,即超文本傳輸...
    肖金光xjg閱讀 431評論 0 3
  • 簡介 超文本傳輸協(xié)議眶俩,屬于應(yīng)用層莹汤,由請求和響應(yīng)構(gòu)成,是一個標(biāo)準(zhǔn)的客戶端服務(wù)器模型颠印。HTTP通常承載與TCP協(xié)議之上...
    明明就_c565閱讀 321評論 0 1
  • HTTP:(Hypertext transfer protocol)超文本傳輸協(xié)議纲岭,是用于從萬維網(wǎng)(WWW:Wor...
    IT老馬閱讀 6,932評論 0 9
  • 坐在車上,兩旁風(fēng)景线罕,你只能看到一旁止潮,這樣好像很容易讓自己深思。車開的那么快钞楼,茂密的樹木迅速的往后退喇闸,你在想...
    時光時分閱讀 227評論 0 0