Blog:https://www.cnblogs.com/Rohn
目錄
- 無狀態
- 無狀態的狀態是啥
- 無狀態(stateless)
- 有狀態(Stateful)
- 總結
- 無狀態的狀態是啥
- Cookie和Session
- Cookie
- Session
無狀態
HTTP是一種不保存狀態,即無狀態(stateless)協議,HTTP協議自身不對請求和回應之間的通信狀態進行保存,也就是說在HTTP這個級別,協議對于發送過的請求或回應都不做持久化處理,
可以理解為,瀏覽器發送請求給服務器時,服務器回應請求;但同一個瀏覽器再次請求時,服務器不知道這次請求的瀏覽器是否為上次那個瀏覽器,也就是服務器沒有記憶瀏覽器的特征,
無狀態的狀態是啥
舉個例子,老王在隔壁開了一家飯店,小明聽說后就想嘗嘗這家飯店的手藝,吃完覺得還不錯,決定明天再去,
第二天,小明又去了飯店,結賬的時候跟老板說:我昨天來消費過,今天可否給個優惠?
無狀態(stateless)
老板答:你昨天來過嗎?我沒有印象了,抱歉不能給你優惠,
有狀態(Stateful)
為了更好地吸引老顧客,維護好客源,老板決定把每個顧客記錄下來,
老板答:奧,稍等讓我查一下記錄……原來是你啊,行,給你88折,歡迎下次惠顧!
總結
由上可知,這個狀態就是客戶端的狀態,
Cookie和Session
如何保存客戶端的狀態?實作的方式有兩種,分別是Cookie和Session,
Cookie
Cookie是通過客戶端保持狀態的解決方案,
從定義上來說,Cookie就是由服務器發給客戶端的特殊資訊,而這些資訊以文本檔案的方式存放在客戶端,然后客戶端每次向服務器發送請求的時候都會帶上這些特殊的資訊,
Session
Session是通過服務器來保持狀態的,
Session指的是服務器端為客戶端所開辟的存盤空間,在其中保存的資訊就是用于保持狀態,
客戶端第一次訪問時,服務器會為這個客戶端創建唯一特征碼,也就是SessionID,客戶端再次請求的時候,服務器會根據SessionID在服務端的資料庫中查詢,若有這個SessionID,則會做出相應回應,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/71778.html
標籤:其他
上一篇:簡單快速搭建釣魚wifi
下一篇:HTTP協議:狀態碼
