您好,登錄后才能下訂單哦!
這篇文章主要講解了“HTTP與HTTPS工作原理詳解”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“HTTP與HTTPS工作原理詳解”吧!
一. HTTP
1.介紹
http是一個超文本傳輸協議,全稱“Hyper Text Transfer Protocol”。它運行于TCP協議之上,是用于萬維網服務器與本地瀏覽器之間傳輸超文本的協議。
2.工作原理
HTTP協議是基于客戶端-服務器模式,通常瀏覽器作為HTTP
客戶端通過URL
向HTTP
服務端發送所有請求,WEB
服務器根據接收到的請求后,向客戶端發送相應信息。具體流程如下:
(1). 客戶端與服務器端建立連接;
(2). 客戶端向服務器端發送請求;
(3). 服務器端接收請求,并根據請求返回相應的結果作為應答;
(4). 客戶端與服務器端關閉連接。
如下圖所示:
3. 常見請求頭信息
Accept : 指定客戶端能夠接收的內容類型
Accept-Charset:瀏覽器可以接受的字符編碼集
Accept-Encoding: 指定瀏覽器可以支持的web服務器返回內容壓縮編碼類型
Accept-Language:瀏覽器可接受的語言
Accept-Ranges: 可以請求網頁實體的一個或者多個子范圍字段
Authorization: HTTP授權的授權證書
Cache-Control:指定請求和響應遵循的緩存機制
Connection: 表示是否需要持久連接
Cookie HTTP :請求發送時,會把保存在該請求域名下的所有cookie值一起發送給web服務器
Content-Length :請求的內容長度
Content-Type: 請求的與實體對應的MIME信息
Date: 請求發送的日期和時間
Expect: 請求的特定的服務器行為
From: 發出請求的用戶的
Host :指定請求的服務器的域名和端口號
Pragma :用來包含實現特定的指令
Proxy-Authorization: 連接到代理的授權證書
Range: 只請求實體的一部分,指定范圍 Range: bytes=500-999
Referer: 先前網頁的地址,當前請求網頁緊隨其后,即來路
Upgrade: 向服務器指定某種傳輸協議以便服務器進行轉換
4. 常見響應頭信息
Accept-Ranges: 表明服務器是否支持指定范圍請求及哪種類型的分段請求
Age: 從原始服務器到代理緩存形成的估算時間(以秒計,非負)
Allow: 對某網絡資源的有效的請求行為,不允許則返回405
Cache-Control: 告訴所有的緩存機制是否可以緩存及哪種類型
Content-Encoding: web服務器支持的返回內容壓縮編碼類型
Content-Language: 響應體的語言
Content-Length: 響應體的長度
Content-Location: 請求資源可替代的備用的另一地址
Content-MD5: 返回資源的MD5校驗值
Content-Range: 在整個返回體中本部分的字節位置
Content-Type: 返回內容的MIME類型
Date: 原始服務器消息發出的時間
Location: 用來重定向接收方到非請求URL的位置來完成請求或標識新的資源
Pragma: 包括實現特定的指令,它可應用到響應鏈上的任何接收方
Proxy-Authenticate: 它指出認證方案和可應用到代理的該URL上的參數
refresh :應用于重定向或一個新的資源被創造,在5秒之后重定向(由網景提出,被大部分瀏覽器支持)
Retry-After: 如果實體暫時不可取,通知客戶端在指定時間之后再次嘗試
Server: web服務器軟件名稱
Set-Cookie: 設置Http Cookie
二. HTTPS
1. 介紹
HTTPS (Secure Hypertext Transfer Protocol)
安全超文本傳輸協議,HTTPS
是在HTTP
上建立SSL
加密層,并對傳輸數據進行加密,是HTTP
協議的安全版。如下圖:
2.HTTPS加密算法
(1). 對稱加密
客戶端采用已知的算法對要發送至服務器的信息加密,另外再單獨發送一次秘鑰,服務端對加密的信息采用接收的秘鑰進行解密;即采用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密。如下圖所示:
(1). 非對稱加密
非對稱加密的時候有兩把鎖,一把是私有密鑰,一把是公有密鑰,使用非對稱加密時,客戶端按照服務器給定的公開密鑰進行加密處理,服務器接收到密文后再通過私有密鑰進行解密。如下圖所示:
3.證書密鑰加密
數字證書認證機構是客戶端與服務器都可信賴的第三方機構。
1.服務器的開發者攜帶公開密鑰,向數字證書認證機構提出公開密鑰申請,數字證書認證機構在認清申請者的身份并審核通過后,會對開發者申請的公開密鑰做數字簽名,然后分配這個已簽名的公開密鑰,并將密鑰放在證書里面綁定。
2.服務器將這個數字證書發送個客戶端,客戶端通過數字證書中的數字簽名來驗證公鑰的真偽,確保服務器傳過來的公開密鑰是真實的,一般情況下證書的數字簽名是很難被偽造的,這取決于認證機構的公信力,一旦去人信息無誤后,客戶端就會通過公開密鑰對報文進行加密發送,服務器接收到以后用自己的私鑰進行解密。
感謝各位的閱讀,以上就是“HTTP與HTTPS工作原理詳解”的內容了,經過本文的學習后,相信大家對HTTP與HTTPS工作原理詳解這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。