常遇到的session與cookie問題集

2021-10-07 10:57:44 字數 1102 閱讀 3258

​hello,我又來啦,我就是那個無名的泰迪。

我相信session和cookie這兩個名字大家都已經熟悉的不能再熟悉了吧,那它又是如何使用的呢,下面就讓泰迪帶你瀏覽大千世界吧。

簡單看個圖,我們熟悉的三次握手。

說到session就會想到登入,那我們先說說為什麼有session這麼乙個機制。session是一次瀏覽器和伺服器的互動的會話 。

大家說會話是啥呢?

說白了就是我問候你好嗎?你回恩很好。就是一次會話。這說白了也只是片面理解吧,查閱很多資料後,泰迪也做出了個總結。我們都知道瀏覽網頁用到的常常是http協議(也就是無狀態,就是這次請求和下次請求是無關係的,這樣效率上是大大提高,但是有乙個缺點就是無法分別出哪個人是哪個請求)。

那麼有乙個問題:login.html登入後在index.html想要也是登入狀態。第一印象是不是想到資料庫加狀態,判斷狀態。那如果使用者超級多呢,頻繁登入/退出呢?頻繁的查詢資料庫?修改資料庫狀態屬性?

所以說在大多數情況下,登入會出現無法識別出請求是否是同乙個使用者,而導致認證登入的不可靠。這怎麼辦呢?

接下來就出現了乙個客戶端的cookie。簡單介紹它是幹嘛的麼?cookie是把少量的資訊儲存在使用者自己的電腦上,當我們訪問瀏覽器時候會讀取cookie中的資訊,就可以很好地解決上述問題,在login.html登入,在index.html頁面獲取訊息,這樣既不用反覆的去查詢資料庫了。

雖然這種方案很不錯,很方便,但是由於cookie 是存在使用者端,而且它本身儲存大小是有限的,最關鍵是使用者可以是可見的,並可以隨意的修改,很不安全。那如何又要安全,又可以方便的全域性讀取資訊呢?於是,這個時候,一種新的儲存會話機制:session 誕生了。

我的天,這都600多字啦?泰迪快變囉嗦鬼啦

Session遇到的問題

細心,再細心。搗鼓一下午,原來是低階錯誤!session 如果瀏覽器 位址 更改,會獲取不到 比如 http localhost 8080 jsp jsp頁面中迴圈輸出session與cookie enumeration e session.getattributenames string temp...

指標常遇到的問題

指標是個涉及到記憶體,很容易產生bug的根源,總結了幾點指標容易出錯的問題 1 對於多級指標,不要在多個函式中分配記憶體空間,例如 void func char p int main 上面這段 就是現在main函式中對p指向的空間開闢了一段記憶體,然後又在func函式中開闢了二級記憶體,這樣在專案開...

iOS常遇到的錯誤訊息與解決方式

常遇到的錯誤訊息與解決方式 遇到這個錯誤碼代表你code中有使用到你尚未載入的framework,把該加入的framework加一加就可以compile過了 解決方式 project build settings build active architecture only 設成yes 解決方式 把...