初識HTTP協議

2021-10-07 03:30:49 字數 1546 閱讀 3002

url

urlencode:對提交字串中的特殊字元進行轉義編碼,防止產生歧義

urldecode:對已編碼的url進行解碼

http協議格式

http協議格式分為四個部分:首行、頭部、空格、正文

首行:

請求首行:由請求方法 、url、協議版本三部分組成,由空格間隔,並且以 \r\n結尾

請求方法:post/get/head/put/delete

get:從伺服器獲取資料,也可以提交資料,待提交的資料存放在url中, 有長度限制

post:向伺服器提交資料,待提交的資料存放在正文中,沒有長度限制

響應首行:由協議版本、狀態碼、狀態碼描述三部分組成,由空格間隔,並以\r\n結尾

協議版本: http 1.0/1.1/2

狀態碼:

1xx:接收的請求正在處理

2xx:請求正常處理完畢 例如:200(ok)204(no content)

3xx:需要進行附加操作以完成請求 例如:301(永久重定向)302(臨時重定向)

4xx:伺服器無法處理請求 例如:400(客戶端請求報文出錯) 403(伺服器禁止訪問資源) 404(資源不存在或丟失)

5xx:伺服器處理請求出錯 例如:501(客戶端請求的功能暫不支援)503(伺服器繁忙)

頭部:頭部中都是key:val形式的鍵值對,之間用\r\n間隔

空行:

\r\n,用於間隔頭部與正文

正文:

包含客戶端提交給伺服器的資料和伺服器反饋給客戶端的資料

http 1.0/1.1/2 區別

tls是傳輸層加密協議,前身是ssl協議,有時候兩者並不區分

http預設使用80埠,https預設使用443埠

https實現原理:

client向server端傳送http請求,並且傳送隨機數1和客戶端支援的加密演算法

server收到請求後,返回給client隨機數2和協商好的加密演算法

隨即server給client傳送第二個響應報文,包含一套由權威機構認證的數字證書也就是公鑰

client解析證書,驗證真偽,通過驗證後,生成乙個隨機數3

client用三個隨機數組裝成會話金鑰,使用證書的公鑰加密,傳送給server

server通過私鑰解密,還原會話金鑰

之後的通訊使用會話金鑰進行加密通訊

HTTP協議 初識HTTP

一 web網路基礎 客戶端 伺服器 首先作為傳送端的客戶端在應用層 http協議 發出乙個想看某個web頁面的http 請求。http報文傳送到傳輸層 tcp協議 為了傳輸方便,傳輸層把接收到的資料進行分割,並在各個報文上打上標記序號及埠號後 到網路層。網路層 ip協議 增加作為通訊目的位址的mac...

初識HTTP協議

http,超文字傳輸協議 hypertext transfer protocol 是網路五層模型中的應用層的協議。作用是處理資源的請求響應過程。如圖,http就是定義了請求端和應答端之間通訊的格式 如果說把tcp ip協議比作是快遞,通過ip和port將物品送至到正確的買家,那麼http這樣的應用層...

初識HTTP協議(三)

由於在持久連線出現之前,客戶端每傳送一次請求得到響應後就要中斷一次tcp連線,這樣就導致了我們 無法並行傳送多個請求,因為只有在等待上乙個請求結束後才可以繼續傳送請求。持久連線使得多數請求以管線化的方式傳送成為可能,這意味著不用等待響應即可傳送下乙個請求。總的來講,持久連線只是減少了tcp不斷重複連...