標籤:tps web服務 發送 log 相關 dsa net 環境 line
permike 原文 HTTP協議與HTTPS的區別
HTTP協議
HTTP協議主要應用是在伺服器和用戶端之間,用戶端接受超文本。
HTTP是在七層網路模型中的應用程式層的協議,由發送請求和接受響應構成,是一個標準的用戶端伺服器模型。與此同時,HTTP是一個無狀態的協議。也就是說,不能通過一個狀態判斷串連的狀態,因此有時候,電腦之間通訊需要通過其他協議來協同工作,一起提供支援。
(1)基於B/S模式,即客戶/伺服器模式。同時可以提供登陸認證和網間安全傳輸,例如HTTP下加入SSL層,可以提供安全的HTTPS服務。
每一種要求方法都有自己的適用範圍,在請求報文的內部,通過一些規則,說明了使用者與Web伺服器之間溝通的類型。同時,HTTP協議規則較為簡單,因此使用HTTP伺服器的系統,代碼和程式規模都會比較輕量級,但是通訊的速度卻效率較高。
資料結構的資料對象。而且,通過一個簡單的頭資訊,例如將正在傳輸的類型由Content-Type加以標記,於是可以區分開。
同時,高版本HTTP協議,HTTP1.1支援持續串連:多個對象可以通過一個串連可傳送,不需要每次傳輸一個web對象就去建立一個新的串連。
架構》·李智慧)”。
HTTP協議的報文格式
HTTP協議的請求報文
當瀏覽器向伺服器發送一個請求到Web伺服器,它發送一個資料區塊,或請求資訊,
要求方法URI協議/版本;
請求本文;
GET/test.jsp HTTP/1.1
Accept:image/test.image/jpeg,*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:222.35.232.103
User-Agent:Mozila/5.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
username=idc&password=linuxidc
(1)要求方法URI協議/版本
GET/test.jsp HTTP/1.1
根據HTTP標準,HTTP請求可以使用多種不同的要求方法。例如:HTTP1.1允許支援七種要求方法(也叫“動作”):GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。日常開發中,GET和POST是最常用的方法,主要在相關的Web開發中。
需要注意,方法名稱很重要的一點是嚴格區分大小寫。有些時候,某個請求所針對的資源可能不支援對應的要求方法,會通過不同的狀態代碼給出響應。例如,伺服器將返回一個狀態代碼405(方法不允許),當請求伺服器或方法不理解不支援相應的時間,返回一個狀態代碼501(沒有實現)。
要求標頭包含了一些客戶環境和請求的內容資訊。例如,要求標頭可以聲明瀏覽器核心和語言使用,請求的長度等。
windows
請求本文和要求標頭要有空行。這個空行必須存在,說明結束要求標頭傳輸,開始傳輸本文請求。請求本文中一般包含很多資訊,例如使用者提交的使用者名稱和密碼之類的登陸資訊:userlogin=linuxidc¤tpwd=linuxidc
求中一樣,請求本文只有簡單的一行資料。
(1)協議狀態版本代碼描述
(3)響應本文
HTTP/1.1 200 OK
Server:Apache Tomcat/7.0.1
Date:Mon,6Oct2014 13:23:42 GMT
Content-Length:102
<html>
<head>
<title>HTTP回應檔<title>
</head>
<body>
這是HTTP回應檔!
</body>
</html>
用戶端向伺服器發送請求,和請求報文類似,伺服器會以狀態行響應。
HTTP響應報文的首先是以狀態行開始,這些可以參考樣本的代碼。
與HTTPS協議的區別
Https是一種基於SSL/TLS的Http協議,所有的http資料都是在SSL/TLS協議封裝之上傳輸的。
——>HTTP協議運行在TCP之上,所有傳輸的內容都是明文,用戶端和伺服器端都無法驗證對方的身份。
——>HTTPS是運行在SSL/TLS之上的HTTP協議,SSL/TLS運行在TCP之上。所有傳輸的內容都經過加密,加密採用對稱式加密,但對稱式加密的密鑰用伺服器方的認證進行了非對稱式加密。
演算法。
1.瀏覽器將自己支援的一套加密規則發送給網站。
3.獲得網站認證之後瀏覽器要做以下工作:
b) 如果認證受信任,或者是使用者接受了不受信的認證,瀏覽器會產生一串隨機數的密碼,並用認證中提供的公開金鑰加密。
4.網站接收瀏覽器發來的資料之後要做以下的操作:
b) 使用密碼加密一段握手訊息,發送給瀏覽器。
此時握手過程結束,之後所有的通訊資料將由之前瀏覽器產生的隨機密碼並利用對稱式加密演算法進行加密。
測試。
非對稱式加密演算法:RSA,DSA/DSS
HASH演算法:MD5,SHA1,SHA256
由於瀏覽器產生的密碼是整個資料加密的關鍵,因此在傳輸的時候使用了非對稱式加密演算法對其加密。
TLS握手過程中如果有任何錯誤,都會使加密串連斷開,從而阻止了隱私資訊的傳輸。
HTTP協議與HTTPS的區別