1.HTTP是無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完可用的請求,並受到客戶的應答後,即斷開鏈接。採用這種方法能夠節省時間。html
2.HTTP是媒體獨立的:這意味着,只要客戶端和服務器知道如何處理數據內容,任何類型的數據均可以經過HTTP發送。客戶端以及服務器指定使用合適的MIME-type內容類型。算法
3.HTTP是無狀態:無狀態是指協議對於事物處理沒有記憶功能。缺乏狀態意味着若是後續處理須要前面的信息,則他必須重傳,這樣可能致使每次鏈接傳送的數據量增大。另外一方面,在服務器不須要先前信息時他的應答比較快。瀏覽器
1.請求行(請求方法,URL,協議版本,)安全
2.請求頭部(頭部字段名:值,頭部字段名:值)服務器
3.空行網絡
4.請求數據性能
1.狀態行(HTTP/1.1 200 OK)測試
2.消息報頭(Date :Sat,31 Dec 2005 23:59:59 GMT網站
Content-Type:text/html; charset=ISO-8859-1加密
Content-Length:122)
3.空行( )
4.響應正文(<html>...</html>)
1.GET:請求指定的頁面信息,並返回實體主體。
2.HEAD:相似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
3.POST:向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。
4.PUT:從客戶端向服務器傳送的數據取代指定的文檔的內容。
5.DELETE:請求服務器刪除指定的頁面。
6.CONNECT:HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。
7.OPTIONS:容許客戶端查看服務器的性能。
8.TRACE:回顯服務器收到的請求,主要用於測試或診斷。
HTTP狀態碼
HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,後兩個數字沒有分類的做用。HTTP狀態碼共分爲5種類型:
1** :信息,服務器收到請求,須要請求者繼續執行操做
2** :成功,操做被成功接收並處理
3** :重定向,須要進一步的操做以完成請求
4** :客戶端錯誤,請求包含語法錯誤或沒法完成請求
5** :服務器錯誤,服務器在處理請求的過程當中發生了錯誤
HTTPS開發的主要目的,是提供對網路服務器的身份驗證,保證交換數據的隱私和完整性。這個協議由網景公司提出。
HTTPS與HTTP協議的區別:
1.HTTPS須要用到CA申請證書,通常免費證書不多,須要交付。
2.HTTP是超文本傳輸協議,信息是明文傳輸,HTTPS則是具備安全性的SSL加密傳輸協議。
3.http和https使用的是徹底不一樣的鏈接方式用的端口也不同,前者是80,後者是443。
4.http的鏈接很簡單,是無狀態的 。
5.HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議, 要比http協議安全。
1.瀏覽器將本身支持的一套加密規則發送給網站。
2.網站從中選出一組加密算法與HASH算法,並將本身的身份信息以證書的形式發送給服務器,證書裏面包含了網站地址,加密公鑰,以及證書的頒發機構等信息。
3.瀏覽器得到網站證書以後瀏覽器要作如下工做
a:驗證證書的合法性
b:若是證書受信任,或者用戶接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,並用證書中提供的公鑰加密。
c:使用約定好的HASH算法計算握手消息,並使用生成的隨機數對消息進行加密,最後將以前生成的全部信息發送給網站。
4.網站接收瀏覽器發來的數據以後要作如下的操做
a:使用本身的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發來的握手消息,並驗證HASH是否與瀏覽器發來的一致
b:使用密碼加密一段握手消息,發送給服務器
5.瀏覽器解密並計算握手消息的HASH,若是與服務器發來的HASH一致,此時握手過程結束,以後全部的通訊數據將由以前瀏覽器生成的隨機密碼並利用對稱加密算法進行加密
對稱加密算法:AES,RC4,3DE8
非對稱加密算法:RSA,DSA/DSS
HASH算法:MD5,SHA1,SHA256