Java每日一面(Part1:計算機網絡)[19/11/25]

做者: 晨鐘暮鼓c
我的微信公衆號: 程序猿的月光寶盒

1. HTTP相關[2]

1.1Get請求和Post請求的區別

從三個層面來回答:

1.1.1 從HTTP報文層面:

​ Get請求將請求信息放在URL後面,請求信息和URL之間用問號(?)隔開,多個請求信息之間用&隔開,形式是鍵值對的形式,且有長度限制.算法

​ Post請求是放在報文體中,想得到請求信息必須請求報文,所以,安全性較Get要高一些,可是能夠經過抓包工具獲取信息,因此不是絕對安全,具體還要靠https,沒有長度限制數據庫

1.1.2 從數據庫層面:

​ Get符合冪等性和安全性,Post不符合瀏覽器

冪等性:緩存

​ 對數據庫的一次操做和屢次操做得到的結果是一致的安全

安全性:服務器

​ 對數據庫的操做沒有改變數據庫中的數據微信

1.1.3 從其餘層面上看

​ Get能夠被緩存,被存儲,會被保存在瀏覽器的瀏覽記錄中,以Get方式發送的URL能夠保存爲瀏覽器書籤,而post不行cookie

1.2 Cookie和Session的區別:

​ 二者產生的緣由:HTTP的最大特色:無狀態,每次登錄某網站都要不厭其煩輸入賬號密碼,對此,就產生的Cookie和Session.網絡

1.2.1 Cookie簡介:

​ 是由服務器發送給客戶端的特殊信息,以文本的形式存放在客戶端session

​ 客戶端再次請求的時候,會把Cookie回發

​ 服務器接收到後,會解析Cookie生成 與客戶端相對應的內容

1.2.1.1 Cookie的設置和發送過程

圖片

  1. 客戶端發送http請求到服務端,

  2. 服務端發送http響應到客戶端,其中包括了Set-Cookie頭部

  3. 客戶端發送http請求到服務端,包括了Cookie頭部

  4. 服務器發送http相應到客戶端


1.2.2 Session簡介

服務端的機制,在服務端上保存信息

解析客戶端請求並操做Session id,按需保存狀態信息

1.2.2.1 Session的實現方式
1.使用Cookie實現

圖片

服務器給每一個Session分配一個惟一的JSessionID,並經過Cookie發送給客戶端,當客戶端發送新的請求的時候,將在Cookie頭中攜帶JSessionID,這樣服務器就能找到相對應的Session

2.使用URL回寫實現

​ 指服務器在發送給瀏覽器的全部頁面中都攜帶JSessionID的參數,這樣客戶端點擊任何一個鏈接都會把JSessionID的值傳給服務端

1.2.3 Cookie和Session的區別

1.Cookie數據存放在瀏覽器,Session存放在服務器

2.Session相對Cookie安全

3.若考慮服務器負擔,應當使用Cookie


1.3 HTTP和HTTPS的區別

1.3.1 HTTPS簡介

圖片

是一個以安全通行爲目的的傳輸協議,是一個安全版的Http

1.3.2 SSL(Security Sockets Layer,安全套接層)

1.爲網絡通訊提供安全及數據完整性的一種安全協議

2.是操做系統對外提供的API,SSL3.0後更名爲TLS

那麼它如何保護安全及數據完整性?

​ 採用身份驗證數據加密保證網絡通訊的安全和數據的完整性

1.3.3加密方式

1.對稱加密:

​ 加密和解密都使用同一個祕鑰,性能較高,安全性相對不強

2.非對稱加密:

​ 加密和解密使用的祕鑰都是不一樣的,分別稱爲公鑰和私鑰,性能較低,安全性超強

3.哈希算法:

​ 將任意長度的信息轉換爲固定長度的值,算法不可逆(常見的MD5算法)

4.數字簽名:

​ 證實某個消息或者文件是從某人發出/認同的

1.3.4Https數據傳輸流程

1.瀏覽器將支持的加密算法信息發送給服務器

2.服務器選擇一套瀏覽器支持的加密算法,以證書的形式回發給瀏覽器

3.瀏覽器驗證證書的合法性,並結合證書公鑰加密信息發送給服務器

4.服務器使用私鑰解密信息,驗證哈希,加密響應信息回發瀏覽器

5.瀏覽器解密響應信息,並對信息進行驗證,以後進行加密交互數據

1.3.5 HTTP和HTTPS的區別

1.HTTPS須要到CA申請證書,HTTP不須要

2.HTTPS密文傳輸,HTTP明文傳輸

3.鏈接方式不一樣,HTTPS默認使用443端口,http使用80端口

4.HTTPS=HTTP+加密+認證+完整性保護,較HTTP安全

1.3.6HTTPS真的安全嗎

未必

1.瀏覽器默認填充http://,請求須要進行跳轉,有被劫持的風險

2.可使用HSTS(HTTP Strict Transport Security)優化

以上,計算機網絡部分結束

相關文章
相關標籤/搜索