02.爬蟲---HTTP基本原理

02.HTTP基本原理

    • 1.URI 和 URL 的區別
    • 2.HTTP 和 HTTPS 的區別
    • 3.請求過程

1.URI 和 URL 的區別

  • URL(Uniform Resource Locator)即-統一資源定位符
    URL是用來定位和訪問互聯網上資源的獨特標識,它包括了資源的位置(如IP地址或域名)、端口號(可選)、路徑(資源在服務器上的位置)、查詢(用于傳遞參數)和片段(用于指定資源中的特定部分)。例如 http://www.example.com/index.html 是一個指向網站首頁的URL。

  • URI(Uniform Resource Identifier)即-統一資源標志符
    URI是一個更廣泛的術語,它用來唯一地標識一個資源,而不涉及如何定位該資源。URI可以分為URL和URN兩種。URL是URI的一種形式,它提供了定位資源的方法,而URN則是用特定命名空間的名字來標識資源,不包含位置信息。

  • URN(Uniform Resource Name)即-統一資源名稱
    URN是URI的一種形式,它通過一個全局唯一的名稱來標識資源,這個名稱在某個命名空間中是唯一的。URN的目的是提供一種方式,使得即便資源的位置發生變化,依然可以對資源進行標識。例如,urn:isbn:0-395-36341-1 是莎士比亞戲劇《羅密歐與朱麗葉》的ISBN號,這是一個典型的URN示例。

URL:提供了資源的位置和訪問方式,是URI的子集,易于人類理解和機器解析。
URI:更通用的資源標識符,可以是URL或URN,用于標識資源,但不提供定位信息。
URN:側重于通過名稱來標識資源,與資源的位置無關,常用于命名空間中標識唯一資源。

關系圖:URI = URL+URN
在這里插入圖片描述

2.HTTP 和 HTTPS 的區別

在這里插入圖片描述

HTTP(超文本傳輸協議)英文(Hyper Text Transfer Protocol)

  • 安全性:HTTP協議傳輸的數據是未加密的,可以被第三方攔截和閱讀
  • 連接狀態:HTTP連接在數據傳輸過程中是明文的,一旦連接被截斷,數據就有可能被竊取或篡改
  • 端口號:80端口
  • 性能:比HTTPS好
  • 證書:HTTP不需要使用證書

HTTPS(超文本傳輸安全協議)英文(Hypertext Transfer Protocol Secure)

  • 安全性:HTTPS通過SSL/TLS協議對數據進行加密,確保數據在傳輸過程中的機密性和完整性,防止數據被截獲或篡改
  • 連接狀態:HTTPS連接在數據傳輸過程中始終保持加密狀態,即便連接在傳輸過程中被截斷,也不會影響數據的加密狀態
  • 端口號:443端口
  • 性能:HTTPS需要進行加密和解密操作,可能會增加服務器和客戶端的計算量,導致性能開銷
  • 證書:HTTPS需要使用SSL/TLS證書來驗證服務器的身份,確保用戶連接的是合法的服務器,防止中間人攻擊

3.請求過程

在這里插入圖片描述
打開電腦瀏覽器,訪問百度 http://www.baidu.com/,這時候鼠標右鍵并選擇 “檢查” 菜單(或直接按快捷鍵 F12),即可打開瀏覽器的開發者工具,如下圖所示:

在這里插入圖片描述
其中各列的含義如下:

  • Name:請求的名稱,一般會將 URL 的最后一部分內容當作名稱。
  • Status:響應的狀態碼,這里顯示為 200,代表響應是正常的。通過狀態碼,我們可以判斷發送了請求之后是否得到了正常的響應。
  • Protocol:請求的協議類型,這里 http/1.1 代表是 HTTP 1.1 版本,h2 代表 HTTP 2.0 版本。
  • Type:請求的文檔類型。這里為 document,代表我們這次請求的是一個 HTML 文檔,內容就是一些 HTML 代碼。
  • Initiator:請求源。用來標記請求是由哪個對象或進程發起的。
  • Size:從服務器下載的文件和請求的資源大小。如果是從緩存中取得的資源,則該列會顯示 from cache。
  • Time:發起請求到獲取響應所用的總時間。
  • Waterfall:網絡請求的可視化瀑布流。

隨便點擊一個條目,即可看到其更詳細的信息,我們看一下比較常用的 如圖所示

在這里插入圖片描述
通用頭 (General)

  • Request URL: 請求的網址
  • Request Method: 請求方法(GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE)
  • Status Code: 請求狀態(2xx,3xx,4xx,5xx) 點擊參考 HTTP響應狀態碼一覽表
  • Remote Address:HTTP請求的遠程地址,即HTTP請求的源地址
  • Referrer Policy:Referer提供訪問來源的信息,告訴服務器,用戶在訪問當前資源之前的位置,發生傳場景包含:加載圖片、樣式文件、JS文件、請求。瀏覽器會將當前網址作為Referer字段,放在 HTTP 請求的頭信息發送

請求頭(Request Headers)

  • Content-Length:HTTP消息長度, 用十進制數字表示的八位字節的數目,消息實體的長度,用于消息的分包和粘包處理
  • Content-Type: 互聯網媒體類型 點擊參考

響應頭(Response Headers)

  • Accept:請求報頭域,用于指定客戶端可接受哪些類型的信息
  • Accept-Encoding:指定客戶端可接受的內容編碼
  • Accept-Language:指定客戶端可接受的語言類型
  • Connection:是否開啟長鏈接。close為不長連接,keep-alive保持長連接
  • Cookie:維持當前訪問會話
  • Host:用于指定請求資源的主機 IP 和端口號,其內容為請求 URL 的原始服務器或網關的位置。從 HTTP 1.1 版本開始,請求必須包含此內容
  • Referer:是HTTP請求header的報文頭,用于指明當前流量的來源參考頁面。通過這個信息,我們可以知道訪客是怎么來到當前頁面的
  • Sec-Ch-Ua:可以理解用來替代user-agent的,用sec-ch-ua可以防止泄露瀏覽器詳細信息
  • Sec-Ch-Ua-Mobile:是否是移動端用戶
  • Sec-Ch-Ua-Platform:表示操作系統名稱
  • Sec-Fetch-Dest:表示請求的目的地,即如何使用獲取的數據
  • Sec-Fetch-Mode:該請求頭表明了一個請求的模式
  • Sec-Fetch-Site:請求發起者的來源與目標資源來源之間的關系
  • User-Agent:簡稱 UA,它是一個特殊的字符串頭,可以使服務器識別客戶使用的操作系統及版本、瀏覽器及版本等信息。在做爬蟲時加上此信息,可以偽裝為瀏覽器;如果不加,很可能會被識別為爬蟲

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15226.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15226.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15226.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

移動硬盤難題:不顯示容量與無法訪問的解決策略

在使用移動硬盤的過程中,有時會遇到一些棘手的問題,比如移動硬盤不顯示容量且無法訪問。這種情況讓人十分頭疼,因為它不僅影響了數據的正常使用,還可能導致重要數據的丟失。接下來,我們就來詳細探討一下這個問題及其解…

CentOS 7安裝/卸載Grafana

說明:本文介紹CentOS 7操作系統如何安裝/卸載Grafana; 安裝 Step1:下載rpm文件 敲下面的命令,下載grafana的rpm文件 wget https://dl.grafana.com/oss/release/grafana-7.3.7-1.x86_64.rpmStep2:安裝grafana 敲下…

使用xxl-job-executor-go 接入xxl-job實現定時任務調度

定時任務是軟件開發中很常見的一種處理業務的機制,xxl-job是近些年比較火的定時任務調用組件,其采用java 實現,是一個高可用,分布式調用的組件,還支持多種定時任務有關的特性,不僅能輕易的用java 客戶端接入…

SpringBoot高級原理詳解

今日內容: 理解SpringBoot自動化配置源碼理解SpringBoot健康監控 1 SpringBoot自動化配置原理 01-SpringBoot2高級-starter依賴管理機制 目的:通過依賴能了解SpringBoot管理了哪些starter講解: 通過依賴 spring-boot-dependencies 搜索 …

【C++】<知識點> 標準模板庫STL(上)

文章目錄 一、STL---string類 1. 常用構造函數 2. 常用操作 3. 字符串流處理 二、STL---容器 1. STL及基本概念 2. 順序容器簡介 3. 關聯容器簡介 4. 容器適配器簡介 5. 常用成員函數 三、STL---迭代器 1. 普通迭代器 2. 雙向、隨機訪問迭代器 3. 不同容器的迭代器…

數據結構:二叉樹與樹

一 樹的基本概念: 1.樹的形狀: 2.樹的定義: 樹是一種非線性的數據結構,它是n(n > 0)個結點的有限集。當n 0時,稱為空樹。在任意一棵非空樹中應滿足: 2.1 有且僅有一個特定的稱為根的結點。 2.2 當n …

棧——順序存儲

#include<stdio.h> #define MaxSize 10 //棧的所有操作時間復雜度都是O(1) //定義 typedef struct{int data[MaxSize];int top; //棧頂指針&#xff0c;永遠指向棧頂元素 }SqStack;//初始化&#xff0c;使棧頂指針指向-1 void InitStack(SqStack &S){S.top-1; }…

k8s二進制安裝與部署

目錄 一、實驗目的 二、實驗環境 三、實驗步驟 3.1 操作系統初始化配置 3.2 部署 docker引擎 3.3 部署 etcd 集群 3.3.1 在 master01 節點上操作 ?3.3.2 在 node01 節點上操作 3.3.3 在 node02 節點上操作 3.4 部署 Master 組件 3.4.1 在 mast…

Softing工業推出新品edgeGate:一款用于工業邊緣和云應用的硬件網關

2024年4月17日&#xff08;哈爾&#xff09;&#xff0c;Softing工業自動化在2024年漢諾威工業博覽會上首次展示了新品edgeGate。該產品是一個無需維護的硬件物聯網網關解決方案&#xff0c;可將生產數據從PLC和數控機床控制器傳輸至工業邊緣及物聯網云平臺。 &#xff08;edge…

MiniMax Golang2輪面試,期望薪資25K

一面 1、自我介紹 2、簡單介紹一下你們成立了這個finance的財務中臺之后&#xff0c;整體的服務架構是怎么樣的嗎&#xff1f; 3、就你提到的預算池項目&#xff0c;展開說說背景&#xff0c;以及解決了怎么樣的問題&#xff1f; 4、為什么采用針對T-1訂單的異步計算方案&a…

jmeter線程組(下篇)

線程組 線程組作為JMeter測試計劃的核心組件之一&#xff0c;對于模擬并發用戶的行為至關重要。線程組元件是整個測試計劃的入口&#xff0c;所有的取樣器和控制器必須放置在線程組下。 可以將線程組視為一個虛擬用戶池&#xff0c;其中每個線程可被理解為一個虛擬用戶&#x…

(Java面試題分享)萬里長征-03-搜狐

萬里長征-03-搜狐 ? 以下內容基于GPT-4o模型 問題 1.LeetCode103 二叉樹的鋸齒形層序遍歷 103. 二叉樹的鋸齒形層序遍歷 - 力扣&#xff08;LeetCode&#xff09; 2.LeetCode5 最長回文子串 5. 最長回文子串 - 力扣&#xff08;LeetCode&#xff09; 3.Kafka為何那么快 …

java如何創建Class對象?

請思考一個問題&#xff1a;如果你想在java程序運行時獲得某個類的信息&#xff0c;你會怎么辦&#xff1f; 首先要獲得該類的Class對象&#xff0c;然后才可以通過Class類中的方法來獲得與該Class對象相對應的類的信息。 有3種方法來獲得類的Class對象&#xff1a; 1.用Cla…

【數據結構與算法 | 基礎篇】[棧專題]力扣20,150

1. 力扣20 : 有效的符號 (1). 題 給定一個只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判斷字符串是否有效。 有效字符串需滿足&#xff1a; 左括號必須用相同類型的右括號閉合。左括號必須以正確的順序閉合。每個…

初學者都能掌握的操作符(中)

&#xff08;1&#xff09;位操作符&#xff08;& | ^&#xff09; &&#xff1a;&#xff08;按二進制位“與”&#xff09; 也就是兩個數的每一位二進制數按照 “與” 的算法&#xff0c;如下&#xff1a; int a 3 ,b 5 ; c a & b; 我們首先寫出a和b的二進…

退格(刪除)鍵

題目描述 用 來表示退格鍵&#xff0c;遇到 來表示退格鍵&#xff0c;遇到 來表示退格鍵&#xff0c;遇到就刪除上一位字符&#xff08;如果有&#xff09; 在鍵盤上從左到右一次輸入一串字符串&#xff0c;請輸出最終字符的個數。注&#xff1a;退格鍵不會出現在最終的剩余字…

5.23.12 計算機視覺的 Inception 架構

1. 介紹 分類性能的提升往往會轉化為各種應用領域中顯著的質量提升&#xff0c;深度卷積架構的架構改進可用于提高大多數其他計算機視覺任務的性能&#xff0c;這些任務越來越依賴于高質量的學習視覺特征。在 AlexNet 功能無法與手工設計、制作的解決方案競爭的情況下&#xf…

如何評價劉強東說“業績不好的人不是我兄弟”

在近日的一次京東管理層會議上&#xff0c;創始人劉強東以不容置疑的口吻表明了對公司文化的堅定態度&#xff1a;“凡是長期業績不好&#xff0c;從來不拼搏的人&#xff0c;不是我的兄弟。”這句話不僅是對那些工作表現不佳的員工的直接警告&#xff0c;也透露出京東在追求業…

three.js能實現啥效果?看過來,這里都是它的菜(08)

在Three.js中實現旋轉動畫的原理是通過修改對象的旋轉屬性來實現的&#xff0c;通常使用渲染循環&#xff08;render loop&#xff09;來更新對象的旋轉狀態&#xff0c;從而實現動畫效果。 具體的原理包括以下幾個步驟&#xff1a; 創建對象&#xff1a;首先創建一個需要旋轉…

AIGC-風格遷移-style Injection in Diffusion-CVPR2024HighLight-論文精度

Style Injection in Diffusion: A Training-free Approach for Adapting Large-scale Diffusion Models for Style Transfer-CVPR2024HighLight 代碼&#xff1a;https://github.com/jiwoogit/StyleID 論文&#xff1a;https://jiwoogit.github.io/StyleID_site/ 為了解決風格遷…