cookie和會話day6

會話和Cookies

一、頁面分類

靜態頁面

1 定義

HTML 代碼編寫的,文字、圖片等內容均通過寫好的 HTML 代碼來指定, 這 種頁面叫作靜態網頁

2 優缺

加載速度快,編寫簡單,

存在很大的缺陷,如可維護性差 ,不能根據 URL靈活多變地顯示內容

動態頁面

1 定義

可以動態解析 URL 中參數的變化,關聯數據庫井動態呈現不同的頁面內容,非常靈活多變。 我們現在遇到的大多數網站都是動態阿站,它們不再是一個簡單的 HTML, 而是可能由 JSP 、 PHP 、 Python等語言編寫

2 新增的功能

實現用戶登錄和註冊的功能***

即我們所說的cookies

二、無狀態的HTTP

1 定義

HTTP 的無狀態是指 HTTP 協議對事務處理是沒有記憶能力的,也就是說服務器不知道客戶端是 什麼狀態。 當我們向服務器發送請求後,服務器解析此請求,然後返回對應的響應,服務器負責完成 這個過程,而且這個過程是完全獨立的,服務器不會記錄前後狀態的變化,也就是缺少狀態記錄

2 cookie和會話誕生原因

這時兩個用於保持 HTTP 連接狀態的技術就出現了,它們分別是會話和 Cookies。 會話在服務端, 也就是網站的服務器,用來保存用戶的會話信息; Cookies 在客戶端,也可以理解爲瀏覽器端,有了 Cookies,瀏覽器在下次訪問網頁時會自動附帶上它發送給服務器,服務器通過識別 Cookjes 並鑑定出 是哪個用戶,然後再判斷用戶是否是登錄狀態,然後返回對應的響應

三 會話和cookies

1 會話

會話,其本來的含義是指有始有終的一系列動作/消息。

在 Web 中,會話對象用來存儲特定用戶會話所需的屬性及配置信息

2 cookies

作用:

Cookies 指某些網站爲了辨別用戶身份、 進行會話跟蹤而存儲在用戶本地終端上的數據。

實現機制:

(1)當客戶端第一次請求服務器時,服務器會返回一個請 求頭中帶有 Set-Cookie 字段的響應給客戶端,用來標記是哪一個用戶,

(2)客戶端瀏覽器會把 Cookies 保 存起來。 當瀏覽器下一次再請求該網站時,瀏覽器會把此 Cookies 放到請求頭一起提交給服務器, “ Cookies 攜帶了會話 ID 信息

(3)服務器檢查該 Cookies 即可找到對應的會話是什麼,然後再判斷會話來 以此來辨認用戶狀態。

服務器給客戶端一個暗號,以後每次客戶端發消息的時候都把暗號帶上一併發送,服務器檢查 有沒有暗號,或者暗號對應哪個會話

Cookies 和會話需要配合**,一個處於客戶端,一個處於服務端,二者共同協作**,就實現了 登錄會話控制。

cookies內容:

在瀏覽器開發者工具中打開 Application 選項卡,然後在左側會有一個 Storage 部分,最後一項即爲 Cookies,將其點開

Name:

該 Cookie 的名稱。一旦創建,該名稱便不可更改

Value:

該 Cookie 的值。 如果值爲 Unicode字符,需要爲字符編碼。 如果值爲二進制數據,則 需要使用 BASE64 編碼。

Domain :

可以訪問該Cookie的域名。 例如,如果設置爲.zhihu.com,則所有以 zhihu.com結尾 的域名都可以訪問該 Cookie。

Max Age:

Cookie失效的時間, 單位爲秒,也常和 Expires一起使用,通過它可以計算其 有效時間。 Max Age 如果爲正數,貝lj該 Cookie 在 Max Age 秒之後失效。 如果爲負數,則關閉 瀏覽器時 Cookie 即失效,瀏覽器也不會以任何形式保存該 Cookie。

Path :

該 Cookie 的使用路徑。 如果設置爲/path/ ,則只有路徑爲/path/的頁面可以訪問該 Cookie。 如果設置爲人 則本域名下的所有頁面都可以訪問該 Cookie。

Size 字段:

此 Cookie 的大小。

HTTP 字段:

Cookie 的 httponly 屬性。 若此屬性爲 true ,則只有在 HTTP 頭中會帶有此 Cookie 的信息,而不能通過 document.cookie 來訪問此 Cookie。

Secure:

該 Cookie 是否僅被使用安全協議傳輸。 安全協議有 HTTPS 和 SSL 等,在網絡上傳 輸數據之前先將數據加密。 默認爲 false

Domain 和path 都是 能訪問cookies的網站範圍限制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章