對(duì)于CGI讀寫(xiě)COOKIE的編程(1)
發(fā)表時(shí)間:2024-05-15 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]COOKIE的用途相信大家都知道了,有時(shí)我們的CGI需要記錄讀取某個(gè)來(lái)訪(fǎng)者的信息,例如該來(lái)訪(fǎng)者使用該CGI的情況,那就得用到COOIKE技術(shù),下面就討論一下如何用CGI來(lái)記錄、讀取來(lái)訪(fǎng)者計(jì)算機(jī)中的COOKIE。 COOKIE在不同的瀏覽器上的存儲(chǔ)方式是不同的,但這并不存在不兼容的問(wèn)題,因?yàn)閃E...
COOKIE的用途相信大家都知道了,有時(shí)我們的CGI需要記錄讀取某個(gè)來(lái)訪(fǎng)者的信息,例如該來(lái)訪(fǎng)者使用該CGI的情況,那就得用到COOIKE技術(shù),下面就討論一下如何用CGI來(lái)記錄、讀取來(lái)訪(fǎng)者計(jì)算機(jī)中的COOKIE。
COOKIE在不同的瀏覽器上的存儲(chǔ)方式是不同的,但這并不存在不兼容的問(wèn)題,因?yàn)閃EB服務(wù)器與瀏覽器之間是通過(guò)HTTP響應(yīng)頭實(shí)現(xiàn)互相傳送COOKIE的信息的,我們?cè)谧x寫(xiě)COOKIE時(shí)不必理會(huì)其在客戶(hù)端是怎么存儲(chǔ)的。
在CGI向來(lái)訪(fǎng)者的計(jì)算機(jī)中寫(xiě)入一條COOKIE時(shí),CGI需要向?yàn)g覽器發(fā)送一個(gè)響應(yīng)頭:
Set-Cookie:name1=value;name2=value2;exprires=DATE;PATH=PATH;domiam=DOMAIN_NAME;SECURE
現(xiàn)在逐個(gè)來(lái)解釋以上響應(yīng)頭各項(xiàng)的含義,各項(xiàng)內(nèi)容是用分號(hào)閣開(kāi)的
我們看到 name1=value和name2=value2 就是你要設(shè)置的COOKIE的內(nèi)容,它是以名字=值的方式發(fā)送的,而name=value中不可以有冒號(hào)、逗號(hào)、和空格,但可以用%XX代替,XX為一個(gè)16進(jìn)制數(shù);
exprires=DATE項(xiàng)是有關(guān)COOKIES的生存期,即該COOKIE的有效期,有效期的時(shí)間格式是格林威治時(shí)間格式:wdy,DD-MON-YYYY HH:MM:SS GMT
這一項(xiàng)在寫(xiě)入COOIE時(shí)是可選的,但不設(shè)置的話(huà)瀏覽器與WEB服務(wù)器的一次連接結(jié)束后,COOKIE就過(guò)了有效期;
domian項(xiàng)定義哪些主機(jī)可以讀取COOKIES,通常COOKIE存放的都不重要的信息,如果你要存放的的信息不大重要,這一項(xiàng)也不用設(shè)置;
PATH項(xiàng)是定義了一臺(tái)主機(jī)上哪些WWW資源可以讀取你所設(shè)置的COOKIE,如果PATH=/ 則這臺(tái)主機(jī)上所有WWW資源可以讀取你所設(shè)置的COOKIE;
SECURE是有關(guān)加密傳送我們可不用理會(huì)。