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...