HTTP基本與原理
HTTP基本與原理
1、HTTP的請求過程
2、URL
(1)URI/URL/URN
URI: Uniform Resource Identifier,統一資源標誌符(對URL+URN的標誌)
URL: Uniform Resource Locator,統一資源定位符(網址)
URN,之命名資源而不指定如何定位資源
URN:Uniform Resource Name,統一資源名稱
(2)、URL的形式
scheme://host[:port#]/path/../[?qurey-string][#anchor]
scheme:協議
host:伺服器的IP地址或者域名
port:服務埠號如果走協議預設埠,80 or 443
path:訪問資源路徑
qurey-string:引數
anchor:錨(跳轉到網頁的指定錨點)
3、HTTP和HTTPS
HTTP(Hyper Text Transfer Protocol):超文字傳輸協議;預設埠號80
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer):HTTP+SSL(安全套接字層);預設埠號443,加密版http,但效能比http低
4、瀏覽器檢視網路請求(快捷鍵F12)
Network監聽元件
Name下面一行條目,代表一次傳送請求和接收響應的過程。
lName:請求名稱
lStatus:響應狀態碼,200表示正常
lType:請求的文件型別。document代表HTML文件
lInitiator:請求源
lSize:從伺服器下載的檔案和請求的資源大小,如果從快取中區的資源,會顯示from cache
lTime:發起請求到獲取相應所用總時間
lWaterfall:網路請求視覺化瀑布
5、請求
客戶端請求,包含4部分
Request Method:請求方法(get和post)
Request URL:請求的網址(他可以唯一確定我們想請求的資源)
lRequest Headers:請求頭
lAccept:客戶端可以接受那些型別的資訊
lAccept-Encoding:客戶端可接受的內容編碼
lHost:請求資源主機IP和埠號,內容為請求URL的原始伺服器或閘道器的位置
lCookie/Cookies:儲存使用者本地的資料,用於位置當前訪問會話
lReferer:表示請求從哪個頁面傳送過來
lUser-Agent/UA:表示客戶端的作業系統、瀏覽器版本等資訊
lContent-Type:也叫網際網路媒體型別,表示請求中媒體型別
Request Body:請求體
一般包含在POST請求中的表單資料;GET請求,請求體則為空
6、響應
伺服器的響應,包含3部分:
Respouse Status Code:響應狀態碼(由三個十進位制數字組成,第一個十進位制數字定義了狀態碼的型別)
分類 | 分類描述 |
---|---|
1** | 資訊,服務收到請求,需要請求者繼續執行操作 |
2** | 成功,操作被成功接收並處理 |
3** | 重定向,需要進一步的操作以完成請求 |
4** | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
5** | 伺服器錯誤,伺服器在處理請求的過程中發生了錯誤 |
Respouse Headers:響應頭(包含伺服器對請求的應答資訊)
lDate:相應產生的時間
lLast-Modified:資源的最後修改時間
lContent-Encoding:相應內容的編碼
lServer:包含伺服器資訊,eg:名稱、版本號等
lContent-Type:文件型別,指定返回的資料型別
lSet-Cookie:高速瀏覽器需要將此內容放在Cookies中,下次請求攜帶Cookies請求
lExpires:指定響應過期時間,可以代理伺服器或瀏覽器將載入的內容更新到快取中每次訪問時直接從快取中載入,降低伺服器負載,縮短載入時間
Respouse Body:響應體,響應的正文資料
eg:請求網頁時,響應體是網頁的HTML程式碼
請求圖片時,響應體是圖片的二進位制資料
爬蟲時,通過響應體得到網頁的原始碼,JSON資料等,從中提取內容