http https協議備忘

2021-09-17 00:22:42 字數 1966 閱讀 5867

http(hypertext transfer protocol, 超文字傳輸協議),基於tcp連線

url(uniform resource locator,統一資源定位符),用於指明網路資源的位址

http報文型別分為請求報文響應報文

http請求報文由客戶端向服務端傳送;

http請求報文由三部分組成:request-line(請求行),request header(請求報文頭,可選),body(請求報文,只對post有效)

請求行格式:[request + request-uri + http-version + crlf]

請求方法型別可分為:

get和post區別服務端收到和解釋請求報文後,返回乙個http響應報文

http響應報文由三部分組成:status-line(狀態行),response header(響應報文頭,可選),body(響應正文)

狀態行格式為http version + status code(響應碼) + reason-phase(響應碼描述)

響應碼/status code

響應碼一共3位,第1位定義響應的類別

1xx:資訊響應類,表示接收到請求並且繼續處理;

2xx:成功響應;

3xx:重定向響應類,需要請求方執行更多操作

4xx:客戶端錯誤,請求包含語法錯誤或者不能正確執行

5xx:服務端錯誤,服務端不能執行正確的客戶端請求

待補充;

ssl(secure socket layer,安全套接字層),ssl協議是netscape公司提出的安全保密協議,執行在應用層,ssl協議採用加密演算法生成40位金鑰,為應用程式提供資料加密;

https(secure hypertext transfer protocol,安全超文字傳輸協議),在http基礎上通過ssl協議實現資訊保安傳輸;https使用ssl在傳送端將資料加密,然後由接收端進行解密,加密和解密都需要傳送端和接收端通過交換一致的金鑰來實現。

【客戶端】客戶端使用https url訪問web服務端,要求建立ssl連線【客戶端】加密隨機金鑰:瀏覽器用證書提供的公鑰對生成的隨機金鑰進行加密

【客戶端】計算握手資訊並加密:瀏覽器使用hash加密演算法計算握手資訊,並用隨機金鑰加密,然後傳送握手資訊給服務端

【服務端】服務端收到握手資訊後,執行如下操作:

【客戶端】瀏覽器解密並計算握手資訊的hash,如果與服務端發來的hash一致,握手結束;

最後,客戶端與服務端的所有通訊資料都通過隨機金鑰加密傳輸

cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上

cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session

session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的效能 考慮到減輕伺服器效能方面,應當使用cookine

單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie

[1]

[2]

[3]

http,https協議解析

超文字傳輸協議 hypertext transfer protocol,http http預設使用80埠,https預設使用443埠.序號 組成部分描述1 請求行描述客戶端的請求方式 get,post 請求資源名稱 http協議版本號 2請求頭 客戶端請求的伺服器主機名,客戶端機器環境資訊3空行 換...

http https 協議(概略)

1.0 協議缺陷 法復 鏈結,完成即斷開,重新慢啟動和 tcp 3 次握 head of line blocking 線頭阻塞,導致請求之間互相影響 1.1 改進 連線 預設 keep alive 復 host 字段指定對應的虛擬站點 新增功能 斷點續傳 身份認證 狀態管理 cache 快取 cac...

面試 HTTP HTTPS 協議

網路協議是計算機之間為了實現網路通訊而達成的一種 約定 或者 規則 有了這種 約定 不同廠商的生產裝置,以及不同作業系統組成的計算機之間,就可以實現通訊。http協議是超文字傳輸協議的縮寫,英文是hyper text transfer protocol。它是從web伺服器傳輸超文字標記語言 html...