Get請求將請求信息放在URL後面,請求信息和URL之間用問號(?
)隔開,多個請求信息之間用&
隔開,形式是鍵值對
的形式,且有長度限制.算法
Post請求是放在報文體中,想得到請求信息必須請求報文,所以,安全性較Get要高一些,可是能夠經過抓包工具獲取信息,因此不是絕對安全,具體還要靠https
,沒有長度限制數據庫
Get符合冪等性和安全性,Post不符合瀏覽器
冪等性:緩存
對數據庫的一次操做和屢次操做得到的結果是一致的安全
安全性:服務器
對數據庫的操做沒有改變數據庫中的數據微信
Get能夠被緩存,被存儲,會被保存在瀏覽器的瀏覽記錄中,以Get方式發送的URL能夠保存爲瀏覽器書籤,而post不行cookie
二者產生的緣由:HTTP的最大特色:無狀態,每次登錄某網站都要不厭其煩輸入賬號密碼,對此,就產生的Cookie和Session.網絡
是由服務器發送給客戶端的特殊信息,以文本的形式存放在客戶端session
客戶端再次請求的時候,會把Cookie回發
服務器接收到後,會解析Cookie生成 與客戶端相對應的內容
客戶端發送http請求到服務端,
服務端發送http響應到客戶端,其中包括了Set-Cookie頭部
客戶端發送http請求到服務端,包括了Cookie頭部
服務器發送http相應到客戶端
服務端的機制,在服務端上保存信息
解析客戶端請求並操做Session id,按需保存狀態信息
服務器給每一個Session分配一個惟一的JSessionID,並經過Cookie發送給客戶端,當客戶端發送新的請求的時候,將在Cookie頭中攜帶JSessionID,這樣服務器就能找到相對應的Session
指服務器在發送給瀏覽器的全部頁面中都攜帶JSessionID的參數,這樣客戶端點擊任何一個鏈接都會把JSessionID的值傳給服務端
1.Cookie數據存放在瀏覽器,Session存放在服務器
2.Session相對Cookie安全
3.若考慮服務器負擔,應當使用Cookie
是一個以安全通行爲目的的傳輸協議,是一個安全版的Http
1.爲網絡通訊提供安全及數據完整性的一種安全協議
2.是操做系統對外提供的API,SSL3.0後更名爲TLS
採用身份驗證
和數據加密
保證網絡通訊的安全和數據的完整性
1.對稱加密:
加密和解密都使用同一個祕鑰,性能較高,安全性相對不強
2.非對稱加密:
加密和解密使用的祕鑰都是不一樣的,分別稱爲公鑰和私鑰,性能較低,安全性超強
3.哈希算法:
將任意長度的信息轉換爲固定長度的值,算法不可逆(常見的MD5算法)
4.數字簽名:
證實某個消息或者文件是從某人發出/認同的
1.瀏覽器將支持的加密算法信息發送給服務器
2.服務器選擇一套瀏覽器支持的加密算法,以證書的形式回發給瀏覽器
3.瀏覽器驗證證書的合法性,並結合證書公鑰加密信息發送給服務器
4.服務器使用私鑰解密信息,驗證哈希,加密響應信息回發瀏覽器
5.瀏覽器解密響應信息,並對信息進行驗證,以後進行加密交互數據
1.HTTPS須要到CA申請證書,HTTP不須要
2.HTTPS密文傳輸,HTTP明文傳輸
3.鏈接方式不一樣,HTTPS默認使用443端口,http使用80端口
4.HTTPS=HTTP+加密+認證+完整性保護,較HTTP安全
1.瀏覽器默認填充http://
,請求須要進行跳轉,有被劫持的風險
2.可使用HSTS(HTTP Strict Transport Security)優化
以上,計算機網絡部分結束