如何維護 Web 客戶端和 Web 伺服器之間的會話?


以下是維護 Web 客戶端和 Web 伺服器之間會話的一些選項:

Cookies

Web 伺服器可以為每個 Web 客戶端分配一個唯一的會話 ID 作為 Cookie,並在客戶端後續的請求中,可以使用接收到的 Cookie 來識別它們。

這可能不是一種有效的方法,因為瀏覽器有時不支援 Cookie。不建議使用此方法來維護會話。

隱藏表單欄位

Web 伺服器可以傳送一個隱藏的 HTML 表單欄位,並附帶一個唯一的會話 ID,如下所示:

<input type = "hidden" name = "sessionid" value = "12345">

這意味著,當表單提交時,指定的名稱和值會自動包含在 **GET** 或 **POST** 資料中。每次 Web 瀏覽器傳送請求時,都可以使用 **session_id** 值來跟蹤不同的 Web 瀏覽器。

這可能是跟蹤會話的有效方法,但點選常規的 (<A HREF...>) 超文字連結不會導致表單提交,因此隱藏表單欄位也不能支援常規會話跟蹤。

URL 重寫

您可以在每個 URL 的末尾附加一些額外的資料。這些資料標識會話;伺服器可以將該會話識別符號與其儲存的有關該會話的資料相關聯。

例如,對於 **https://tutorialspoint.tw/file.htm;sessionid=12345**,會話識別符號附加為 **sessionid = 12345**,Web 伺服器可以訪問它來識別客戶端。

URL 重寫是維護會話的更好方法,並且在瀏覽器不支援 Cookie 時也能正常工作。這裡的缺點是,您必須動態生成每個 URL 以分配會話 ID,即使頁面是一個簡單的靜態 HTML 頁面。

更新於: 2019 年 7 月 30 日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.