Python中Cookie和Session爬蟲是什么,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)專注于白河企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城開發(fā)。白河網(wǎng)站建設(shè)公司,為白河等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)關(guān)于cookie和session估計(jì)很多程序員面試的時(shí)候都會(huì)被問到,這兩個(gè)概念在寫web以及爬蟲中都會(huì)涉及,并且兩者可能很多人直接回答也不好說的特別清楚,所以整理這樣一篇文章,也幫助自己加深理解。
其實(shí)簡(jiǎn)單的說就是當(dāng)用戶通過http協(xié)議訪問一個(gè)服務(wù)器的時(shí)候,這個(gè)服務(wù)器會(huì)將一些Name/Value鍵值對(duì)返回給客戶端瀏覽器,并將這些數(shù)據(jù)加上一些限制條件。在條件符合時(shí),這個(gè)用戶下次再訪問服務(wù)器的時(shí)候,數(shù)據(jù)又被完整的帶給服務(wù)器。
因?yàn)閔ttp是一種無狀態(tài)協(xié)議,用戶首次訪問web站點(diǎn)的時(shí)候,服務(wù)器對(duì)用戶一無所知。而Cookie就像是服務(wù)器給每個(gè)來訪問的用戶貼的標(biāo)簽,而這些標(biāo)簽就是對(duì)來訪問的客戶端的獨(dú)有的身份的一個(gè)標(biāo)識(shí),這里就如同每個(gè)人的身份證一樣,帶著你的個(gè)人信息。而當(dāng)一個(gè)客戶端第一次連接過來的時(shí)候,服務(wù)端就會(huì)給他打一個(gè)標(biāo)簽,這里就如同給你發(fā)了一個(gè)身份證,當(dāng)你下載帶著這個(gè)身份證來的時(shí)候,服務(wù)器就知道你是誰了。所以Cookie是存在客戶端的,這里其實(shí)就是在你的瀏覽器中。
Cookie中包含了一個(gè)由名字=值(name=value)這樣的信息構(gòu)成的任意列表,通過Set-Cookie或Set-Cookie2HTTP響應(yīng)(擴(kuò)展)首部將其貼到客戶端身上。
其實(shí)這里有一個(gè)非常典型的應(yīng)用,就是關(guān)于你登錄很多網(wǎng)站的賬號(hào)信息,你讓記住密碼之后,一段時(shí)間內(nèi),不需要輸入密碼,每次都是登錄狀態(tài)
這里Cookie主要分為兩種:
會(huì)話Cookie:不設(shè)置過期時(shí)間,保存在瀏覽器的內(nèi)存中,關(guān)閉瀏覽器,Cookie便被銷毀
普通Cookie:設(shè)置了過期時(shí)間,保存在硬盤上
因?yàn)樽铋_始的cookie是網(wǎng)景公司定義的,后來又有了RFC版本所以當(dāng)前的Cookie有兩個(gè)版本:Version0Version1他們有兩種設(shè)置響應(yīng)頭的標(biāo)識(shí),分別是:Set-Cookie和Set-Cookie2,這也造成了一些屬性的不同,這里需要注意:常用的為Version0
Version0的屬性
NAME=Value:鍵值對(duì)設(shè)置要保存的Name/Value,這里的name不能喝其他屬性的名字一樣
Expires:過期時(shí)間
Domain:生成該Cookie的域名
Path:該Cookie是在當(dāng)前的哪個(gè)路徑下生成
Secure:如果設(shè)置了這個(gè)屬性,那么只會(huì)在SSH連接時(shí)才會(huì)回傳該Cookie
Version1的屬性
Name=VALUE:鍵值對(duì)設(shè)置要保存的Name/Value,這里的name不能喝其他屬性的名字一樣
Comment:主是想,用于說明該Cookie有什么用途
CommentURL:該服務(wù)器為此COokie提供URI注釋
Discard:是否在回話結(jié)束丟棄該Cookie,默認(rèn)為false
Domain:生成該Cookie的域名
Max-Age:較大失效時(shí)間,與Version0不同的是這里設(shè)置的是在多少秒后失效
Path:該Cookie是在當(dāng)前的哪個(gè)路徑下生成
Port:該Cookie在什么端口下可以回傳服務(wù)端,如果有多個(gè)端口,以逗號(hào)隔開
Secure:如果設(shè)置了這個(gè)屬性,那么只會(huì)在SSH連接時(shí)才會(huì)回傳該Cookie
關(guān)于Python中Cookie和Session爬蟲是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。