好程式設計師web前端培訓分享面試題Session、Cookie基礎知識
好程式設計師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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師web前端培訓分享CSS基礎知識學習程式設計師Web前端CSS
- 好程式設計師web前端培訓分享Vue面試題程式設計師Web前端Vue面試題
- 好程式設計師Web前端培訓分享jQuery面試題梳理程式設計師Web前端jQuery面試題
- 好程式設計師web前端分享Cookie知識程式設計師Web前端Cookie
- 好程式設計師web前端培訓分享Vue面試題1.程式設計師Web前端Vue面試題
- 好程式設計師web前端培訓分享HTML/CSS部分面試題程式設計師Web前端HTMLCSS面試題
- 好程式設計師web前端教程分享web前端基礎知識程式設計師Web前端
- 好程式設計師web前端培訓分享JavaScript相關知識程式設計師Web前端JavaScript
- 好程式設計師web前端培訓分享JS面試題總結一程式設計師Web前端JS面試題
- 好程式設計師web前端培訓分享JavaScript基礎語法程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享JS基礎知識程式設計師Web前端JS
- 好程式設計師web前端教程分享web前端入門基礎知識程式設計師Web前端
- 好程式設計師web前端培訓分享JavaScript學習筆記cookie程式設計師Web前端JavaScript筆記Cookie
- 好程式設計師Python培訓分享Python入門基礎知識程式設計師Python
- 好程式設計師Java培訓分享Java基礎知識總結程式設計師Java
- 好程式設計師web前端分享CSS基礎知識之position程式設計師Web前端CSS
- 好程式設計師web前端學習路線分享前端基礎面試題程式設計師Web前端面試題
- 好程式設計師Web前端培訓入門之JS基礎知識梳理彙總程式設計師Web前端JS
- 好程式設計師web前端培訓分享HTMLCSS學習之CSS基礎程式設計師Web前端HTMLCSS
- 好程式設計師大資料培訓分享Hive基礎知識講解程式設計師大資料Hive
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- 好程式設計師web前端培訓分享學習JavaScript程式設計師Web前端JavaScript
- 好程式設計師web前端培訓分享JavaScript框架J程式設計師Web前端JavaScript框架
- 好程式設計師web前端分享web前端入門知識程式設計師Web前端
- 好程式設計師web前端教程分享JavaScript面試題程式設計師Web前端JavaScript面試題
- 好程式設計師web前端分享常見面試題程式設計師Web前端面試題
- 好程式設計師Java培訓分享20個Java程式設計師基礎題程式設計師Java
- 好程式設計師web前端培訓分享怎樣學好css?程式設計師Web前端CSS
- 好程式設計師分享Web前端知識之HTML程式設計師Web前端HTML
- 好程式設計師web前端培訓分享小白學web常見的問題程式設計師Web前端
- 好程式設計師web前端培訓分享如何講清楚Promise?程式設計師Web前端Promise
- 好程式設計師Web前端培訓分享如何講清楚this指向?程式設計師Web前端
- 好程式設計師web前端培訓分享HTML DOM節點程式設計師Web前端HTML
- 好程式設計師web前端培訓分享HTML DOM簡介程式設計師Web前端HTML
- 好程式設計師web前端培訓分享CSS定位的教程程式設計師Web前端CSS
- 好程式設計師web前端培訓分享JavaScript學習指南程式設計師Web前端JavaScript
- 好程式設計師Python培訓分享Python程式設計師面試技巧程式設計師Python面試
- 好程式設計師Web前端教程分享新手應該瞭解的Cookie知識!程式設計師Web前端Cookie