千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 了解HTTP協議

了解HTTP協議

來源:千鋒教育
發布人:qyf
時間: 2022-08-31 15:53:00 1661932380

  我們學習知識就像蓋房子一樣,沒有良好的地基,房子經不起風吹雨打。而如果房子的地基搭建的足夠牢固,即使臺風來了都是高高的聳立在那里。我們沒有上來就講爬蟲怎么用,而是講了一些基礎的內容。這些內容大家都掌握了,后面我們學習實操爬蟲就會很順利,很清晰了。

  HTTP協議

  提到爬蟲我們不得不提起HTT協議,那什么是HTTP協議呢?

  HTTP協議(超文本傳輸協議HyperText Transfer Protocol),它是基于TCP協議的應用層傳輸協議,簡單來說就是客戶端和服務端進行數據傳輸的一種規則。

  • 超文本:是指超過文本,不僅限于文本;還包括圖片、音頻、視頻等文件

  • 傳輸協議:是指使用共用約定的固定格式來傳遞轉換成字符串的超文本內容

  • 默認端口號:80

  并且HTTP是一種無狀態(stateless) 協議, HTTP協議本身不會對發送過的請求和相應的通信狀態進行持久化處理。這樣做的目的是為了保持HTTP協議的簡單性,從而能夠快速處理大量的事務, 提高效率。

  有時我們還會使用到https協議,其實他是HTTP + SSL(安全套接字層),即帶有安全套接字層的超本文傳輸協,默認端口號:443

  • SSL對傳輸的內容(超文本,也就是請求體或響應體)進行加密

  請求

  HTTP協議中每次請求都會攜帶下方的內容,比如有請求的方法、請求的路徑、協議的版本等我們稱作請求行

  還有符合字段名:值的這個方式的,我們稱作請求頭。

  最后一部分是請求體。

Picture(6)

  大家來看一下,瀏覽器的開發者工具Network中的請求情況:

Picture(1)

  我們可以發現瀏覽器在發出請求的時候也是攜帶了請求行、請求頭等內容。

  爬蟲中特別關注的請求頭

  無論是瀏覽器還是爬蟲,在發出請求的時候要遵守HTTP協議,遵守HTTP協議就要攜帶請求頭。

  瀏覽器的請求頭有哪些呢?同樣在Network模式點擊一個鏈接查看:

Picture(2)

  這么多請求頭發出請求的時候都要加嗎?不是的,因為每個網站的請求頭也是不一樣的,也不是統一的。所以爬蟲特別關注以下幾個請求頭字段:

  • Content-Type

  • Host (主機和端口號)

  • Connection (鏈接類型)

  • Upgrade-Insecure-Requests (升級為HTTPS請求)

  • User-Agent (瀏覽器名稱)

  • Referer (頁面跳轉處)

  • Cookie (Cookie)

  • Authorization(用于表示HTTP協議中需要認證資源的認證信息,如前邊web課程中用于jwt認證)

  加粗的請求頭為常用請求頭,在服務器被用來進行爬蟲識別的頻率最高,相較于其余的請求頭更為重要,但是這里需要注意的是并不意味這其余的不重要,因為有的網站的運維或者開發人員可能劍走偏鋒,會使用一些比較不常見的請求頭來進行爬蟲的甄別

  響應

  有請求再加上響應才是一個完整的HTTP協議過程。那返回的響應內容格式又是什么呢?

Picture(3)

  所以每一次響應都會包含上圖中的內容,狀態碼、協議版本、響應頭、響應實體等。

  同樣為了我們更加直觀的來看響應我們還是通過瀏覽器的Network來看。可以看到有狀態碼、遠程主機IP、響應頭等內容

Picture(4)

  還有一個主要內容是沒有看到的,那就是響應體,需要點擊一下Response,就會發現下面發生了變化,你所看到的就是響應體的內容。

Picture(5)

  所以瀏覽器在發出請求的時候,運行過程是:

Picture

  http請求的過程

  我們無論訪問任何網站都是在瀏覽器的地址欄上輸入域名的,比如:http://www.baidu.com. 因為域名好記啊!我們從來不會記的百度的IP地址。但是識別的過程有DNS域名解析服務器完成了,它能夠根據你輸入的域名找到匹配的IP地址,然后將IP地址告訴你。

  瀏覽器在拿到域名對應的ip后,開始發起請求,并獲取響應

  在返回的響應內容(html)中,會帶有css、js、圖片等url地址,以及ajax代碼,瀏覽器按照響應內容中的順序依次發送其他的請求,并獲取相應的響應

  瀏覽器每獲取一個響應就對展示出的結果進行添加(加載),js,css等內容會修改頁面的內容,js也可以重新發送請求,獲取響應

  從獲取第一個響應并在瀏覽器中展示,直到最終獲取全部響應,——這個過程叫做瀏覽器的渲染

  那講了這么多,到底HTTP跟我們即將要講的爬蟲有什么關系呢?請看下圖:

Picture(7)

  http作用

  這個是爬蟲的步驟,而HTTP協議則是這個步驟中的一部分而且是最重要的一部分,即發送請求獲取響應的那部分。

  【說的明白些,就是【請求和響應】這段其實就是瀏覽器要干的活,我們通過寫程序假裝是瀏覽器在訪問。】!!!上圖紅色框起來的那部分就是假裝瀏覽器在做事情

  下一次爬蟲我們給大家介紹正則表達式,并且介紹正則表達式在爬蟲中的使用。

  更多關于“Python培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲日韩性爱在线精品视频 | 午夜久久两性视频 | 亚洲精品∧v在线观看 | 亚洲欧美日一线高本道 | 日韩欧美国产一二三区 | 中文字幕玖玖资源站zyz |