1. 程式人生 > 資訊 >中消協警示:電動自行車起火爆炸事故頻發,使用原裝充電器適度充電等六點莫忽視

中消協警示:電動自行車起火爆炸事故頻發,使用原裝充電器適度充電等六點莫忽視

1. 說一下http和https的區別

1) https協議要申請證書,需要一定經濟成本;

2) http是明文傳輸,https是加密的安全傳輸;

3) 連線的埠不一樣,http是80,https是443;

4) http的連線很簡單,是無狀態的;https協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。也因為增加了SSL,所以使用https協議會使頁面的載入時間比http協議延長。

2.HTTP協議是無狀態的/無連線的到底指的是什麼?

就是每次的請求都是獨立的,它的執行情況和結果與前面的請求和之後的請求是無直接關係的。它不會受前面的請求應答情況直接影響,也不會直接影響後面的請求應答情況,因此我們才需要cookie和session。

3. 說一下cookie和session。

HTTP 是無狀態協議,說明它無法根據之前的狀態進行本次的請求處理。這樣會導致很多麻煩,如:我們登入淘寶的時候首先要登入,我們看到了一個商品點進去,進行了頁面跳轉,那麼按照HTTP的無狀態協議豈不是又要登入一次?

所以為了解決這個問題,Cookie誕生了,Cookie 技術通過在請求和響應報文中寫入Cookie 資訊來控制客戶端的狀態。

原理:

Cookie 會根據從伺服器端傳送的響應報文內的一個叫做Set-Cookie的首部欄位資訊,通知客戶端儲存Cookie。當下次客戶端再往該伺服器傳送請求時,客戶端會自動在請求報文中加入Cookie 值後傳送出去。伺服器端發現客戶端傳送過來的Cookie 後,會去檢查究竟是從哪一個客戶端發來的連線請求,然後對比伺服器上的記錄,最後得到之前的狀態資訊。

第一次,沒有Cookie資訊狀態下的請求

第2次以後(存有Cookie資訊狀態)的請求

Session 物件儲存特定使用者會話所需的屬性及配置資訊。這樣,當用戶在應用程式的 Web 頁之間跳轉時,儲存在 Session 物件中的變數將不會丟失,而是在整個使用者會話中一直存在下去。鑑於HTTP 是無狀態協議,即無法實現狀態管理,因此當該使用者下一次繼續訪問,也無法區分他與其他的使用者,於是我們會使用Cookie 來管理Session。

Session 管理及Cookie 狀態管理

  • 步驟一:客戶端把使用者ID 和密碼等登入資訊放入報文的實體部分,通常是以POST 方法把請求傳送給伺服器。
  • 步驟二:伺服器會發放用以識別使用者的Session ID。通過驗證從客戶端傳送過來的登入資訊進行身份認證,然後把使用者的認證狀態與Session ID 繫結後記錄在伺服器端。
  • 步驟三:客戶端接收到從伺服器端發來的Session ID 後,會將其作為Cookie 儲存在本地。下次向伺服器傳送請求時,瀏覽器會自動傳送Cookie,所以Session ID 也隨之傳送到伺服器。伺服器端可通過驗證接收到的Session ID 識別使用者和其認證狀態。