Session 和 Cookie 的區別:
- Session是存在服務器端,Cookie是存在客戶端(瀏覽器)
- Session的保存方法很多,內存、數據庫、文件都有
- Session 的運行依賴 Session id,而 Session id 是存在 Cookie 中的
- Cookie可以記錄Session ID, 賬號信息等
使用場景:
Http協議是無狀態的協議,所以服務端如何記住特定的用戶:
- 當客服端第一次訪問服務器端的時候,會在服務器端生成一個Sessin,
- 然後服務端會在Http協議中告訴客服端需要在Cookie裏面記錄一個Session ID
- 以後每次客服端發送Http請求的時候在頭部帶上這個Cookie,服務器端去檢查Session ID是否有效,如果有效執行操作,如果無效按照異常處理(比如跳轉到登錄頁)
通過Python3 如何得到百度的Cookie:
import requests
url = "https://www.baidu.com/"
response = requests.post(url=url)
print(response.status_code)
# 得到返回的Cookie
cookie = response.cookies
# 再次訪問的時候帶着Cookie進行訪問
response1 = requests.post(url=url, cookies=cookie)
print(response1.status_code)