介紹
- 由于HTTP是無狀態(tài)協(xié)議,所以服務(wù)端需要記錄用戶的狀態(tài)時,就需要使用某種機制來識別具體的用戶,這個機制就是
session,典型的場景比如購物車,當你下單時,由于http無狀態(tài)的特性,所以并不知道是哪個用于操作的,所以服務(wù)端需要為特定的用戶創(chuàng)建特定的session,用于標識這個用戶。這個session是保存在服務(wù)端的,有個唯一標識session id。 - 每次HTTP請求時,客戶端都會發(fā)送相應(yīng)的
cookie信息到服務(wù)端,實際上大多數(shù)應(yīng)用都是用Cookie來實現(xiàn)session跟蹤的,當?shù)谝淮蝿?chuàng)建session時,客戶端會儲存一個session id,以后每次請求都會帶上session id,從而給服務(wù)器發(fā)送用戶標識。
如果用戶禁用cookie,如何標識?
- 這時候就需要用到
URL重寫技術(shù),在查詢參數(shù)后面帶上session id,從而讓服務(wù)器接收標識。
總結(jié)
- Session:是服務(wù)端保存的一個數(shù)據(jù)結(jié)構(gòu),用來跟蹤用戶狀態(tài),這個數(shù)據(jù)可以保存在集群,數(shù)據(jù)庫,文件中。
- Cookie:是客戶端保存用戶信息的一種機制,用來記錄用戶的一些信息,也是實現(xiàn)
session的一種方式。