好程式設計師web前端培訓分享面試題Session、Cookie基礎知識

好程式設計師發表於2020-04-29

  好程式設計師web 前端 培訓分享 面試題Session Cookie 基礎知識 Web 前端作為當前市場上公認的高薪行業之一,吸引了很多人加入學習。不過,隨著企業對求職者技能要求的提高,不難發現面試難度也在進一步加大。有不少同學想知道企業常問的考題是什麼,接下來 好程式設計師 Web 前端培訓小編就給大家簡單分享 Session Cookie 相關面試題。

  

   1 Cookie Session

   HTTP 協議是一種無狀態協議,即每次服務端接收到客戶端的請求時,都是一個全新的請求,伺服器並不知道客戶端的歷史請求記錄 ;Session Cookie 的主要目的就是為了彌補 HTTP 的無狀態特性。

   2 Session 是什麼

   客戶端請求服務端,服務端會為這次請求開闢一塊記憶體空間,這個物件便是Session 物件,儲存結構為 ConcurrentHashMap Session 彌補了 HTTP 無狀態特性,伺服器可以利用 Session 儲存客戶端在同一個會話期間的一些操作記錄。

   3 Session 如何判斷是否是同一會話

   伺服器第一次接收到請求時,開闢了一塊Session 空間 ( 建立了 Session 物件 ) ,同時生成一個 sessionId ,並透過響應頭的 Set-Cookie JSESSIONID=XXXXXXX 命令,向客戶端傳送要求設定 Cookie 的響應 ; 客戶端收到響應後,在本機客戶端設定了一個 JSESSIONID=XXXXXXX Cookie 資訊,該 Cookie 的過期時間為瀏覽器會話結束。

   4 Cookie 是什麼 ?

   HTTP 協議中的 Cookie 包括 Web Cookie 和瀏覽器 Cookie ,它是伺服器傳送到 Web 瀏覽器的一小塊資料。伺服器傳送到瀏覽器的 Cookie ,瀏覽器會進行儲存,並與下一個請求一起傳送到伺服器。通常,它用於判斷兩個請求是否來自於同一個瀏覽器,例如使用者保持登入狀態。

   5 、什麼是 Session Cookies

   Session Cookies 也稱為會話 Cookies ,在 Session Cookies 中,使用者的登入狀態會儲存在伺服器的記憶體中。當使用者登入時, Session 就被服務端安全的建立。在每次請求時,伺服器都會從會話 Cookie 中讀取 SessionId ,如果服務端的資料和讀取的 SessionId 相同,那麼伺服器就會傳送響應給瀏覽器,允許使用者登入。

   6 、什麼是 Json Web Tokens

   Json Web Token 的簡稱就是 JWT ,通常可以稱為 Json 令牌。它是 RFC 7519 中定義的用於安全的將資訊作為 Json 物件進行傳輸的一種形式。 JWT 中儲存的資訊是經過數字簽名的,因此可以被信任和理解。可以使用 HMAC 演算法或使用 RSA/ECDSA 的公用 / 專用金鑰對 JWT 進行簽名。

   使用JWT 主要用來下面兩點:

   認證(Authorization) :這是使用 JWT 最常見的一種情況,一旦使用者登入,後面每個請求都會包含 JWT ,從而允許使用者訪問該令牌所允許的路由、服務和資源。單點登入是當今廣泛使用 JWT 的一項功能,因為它的開銷很小。

   資訊交換(Information Exchange) JWT 是能夠安全傳輸資訊的一種方式。透過使用公鑰 / 私鑰對 JWT 進行簽名認證。此外,由於簽名是使用 head payload 計算的,因此你還可以驗證內容是否遭到篡改。

   以上分享的內容只是最基礎簡單的知識點,如果你想了解更多企業常考的Web 前端求職面試題,可以關注“ 好程式設計師 ”微信公眾號。你也可以來 好程式設計師 Web 前端培訓班進行系統的學習進階,感受高效學習、快樂學習的樂趣。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2689278/,如需轉載,請註明出處,否則將追究法律責任。

相關文章