999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Cookie和Session機制的初步探討

2008-12-31 00:00:00張瑞興張翠梅
考試周刊 2008年36期

摘要: 在網絡技術迅猛發展的今天,人性化的網站建設越來越得到設計開發人員的重視,Cookie和Session機制的使用,可以大大提高網站運行的效率。但很多用戶往往分不清Cookie和Session機制的區別和聯系,本文就這兩機制進行初步探討,對Cookie和Session機制的概念、原理和用途做簡要的區別。

關鍵詞: Cookie Session客戶請求 變量傳遞

1.Cookie概念、用途及工作原理

Cookie技術最先被Netscape公司引入到Navigator瀏覽器中。之后,WWW協會支持并采納了Cookie標準,微軟也在Internet Explorer瀏覽器中使用了Cookie。現在,絕大多數瀏覽器都支持Cookie,或者至少兼容Cookie技術的使用。按照Netscape官方文檔中的定義,Cookie是指在HTTP協議下,服務器或腳本可以維護客戶端計算機上信息的一種方式。通俗地說,Cookie是一種能夠讓網站Web服務器把少量數據儲存到客戶端的硬盤或內存里,或是從客戶端的硬盤里讀取數據的一種技術。

Cookie最根本的用途是能夠幫助Web站點保存有關訪問者的信息。更概括地說,Cookie是一種保持Web應用程序連續性(即執行“狀態管理”)的方法。瀏覽器和Web服務器除了在短暫的實際信息交換階段以外總是斷開的,而用戶向Web服務器發送的每個請求都是單獨處理的,與其他所有請求無關。然而在大多數情況下,都有必要讓Web服務器在您請求某個頁面時對您進行識別。Cookie的作用就類似于名片,它提供了相關的標識信息,可以幫助應用程序確定如何繼續執行。

Cookie應用的幾條限制。大多數瀏覽器支持最多可達4096字節的Cookie,如果要將為數不多的幾個值保存到用戶計算機上,這一空間已經足夠大,但你不能用一個Cookie來保存數據集或其他大量數據。在實際應用中,你可能并不希望在Cookie中保存大量的用戶信息,而只希望保存用戶編號或其他標識符。之后,當用戶再次訪問你的站點時,你就可以使用該用戶ID在數據庫中查找用戶的詳細信息。瀏覽器還限制了在用戶計算機上保存的Cookie數。大多數瀏覽器只允許每個站點保存20個Cookie。如果試圖保存更多的Cookie,則最先保存的Cookie就會被刪除。還有些瀏覽器會對來自所有站點的Cookie總數做出限制,這個限制通常為300個。最常遇到的Cookie限制是:用戶可以設置自己的瀏覽器,拒絕接受Cookie。

2.Session概念、用途及工作原理

Session,中文經常翻譯為會話,其本來的含義是指有始有終的一系列動作/消息。Session是一種跟蹤和識別用戶的機制,最早出現在動態腳本語言ASP中,在PHP中的使用是從PHP4開始增加的一項功能。Session是指用戶在瀏覽某個網站時,從進入網站第一個網頁開始到瀏覽器關閉所經歷的時間段。當它在服務端完成響應后,服務器就失去與客戶端瀏覽器的聯系。從這點而言,Session是一個特定的時間概念,它能夠存儲當前瀏覽器窗口打開的任何窗口的用戶信息。

當程序需要為某個客戶端的請求創建一個Session的時候,服務器首先檢查這個客戶端的請求里是否已包含了一個Session標識,稱為Session ID。如果已包含一個Session ID則說明以前已經為此客戶端創建過Session,服務器就按照Session ID把這個Session檢索出來使用(如果檢索不到,可能會新建一個);如果客戶端請求不包含Session ID,則為此客戶端創建一個Session并且生成一個與此Session相關聯的Session ID。Session ID的值應該是一個既不會重復,又不容易被找到規律以仿造的字符串,這個Session ID將被在本次響應中返回給客戶端保存。保存這個Session ID的方式可以采用Cookie,這樣在交互過程中瀏覽器可以自動地按照規則把這個標識發揮給服務器。一般這個Cookie的名字都是類似于SEEESION ID。

恰恰是由于關閉瀏覽器不會導致Session被刪除,迫使服務器為Session設置了一個失效時間,當距離客戶端上一次使用Session的時間超過這個失效時間時,服務器就可以認為客戶端已經停止了活動,才會把Session刪除以節省存儲空間。

3.Cookie和Session的區別與聯系

Cookie是客戶端的存儲空間,由瀏覽器來維持。具體來說,Cookie機制采用的是在客戶端保持狀態的方案,而Session機制采用的是在服務器端保持狀態的方案。同時我們也看到,由于在服務器端保持狀態的方案在客戶端也需要保存一個標識,所以Session機制有時需要借助于Cookie機制來達到保存標識的目的,但也有其他選擇,比如說重寫URL和隱藏表單域。

對于Cookie來說,假設我們要驗證用戶是否登陸,就必須在Cookie中保存用戶名和密碼(可能是md5加密后字符串),并在每次請求頁面的時候進行驗證。如果用戶名和密碼存儲在數據庫,每次都要執行一次數據庫查詢,將給數據庫造成多余的負擔。因為我們并不能只做一次驗證。因為客戶端Cookie中的信息是有可能被修改的。而Session就不同了,Session是存儲在服務器端的,遠程用戶沒辦法修改Session文件的內容,因此我們可以單純存儲一個$admin變量來判斷是否登陸,首次驗證通過后設置$admin值為true,以后判斷該值是否為true,假如不是,轉入登陸界面,這樣就可以減少很多數據庫操作了。

Session是由應用服務器維持的一個服務器端的存儲空間,用戶在連接服務器時,會由服務器生成一個唯一的Session ID,用該Session ID為標識符來存取服務器端的Session存儲空間。而Session ID這一數據則是保存到客戶端,用Cookie保存的,用戶提交頁面時,會將這一Session ID提交到服務器端,來存取Session數據。這一過程,是不用開發人員干預的。所以一旦客戶端禁用Cookie,那么Session也會失效。

4.Session和Cookie變量的創建

下面,我們以php代碼實例來簡單了解一下Session和Cookie變量的創建,其使用方法我們就一目了然了。

<?php

Session_start();//開始一個會話,如果要使用Session程序最前面一定要加上這句

$_Session[’user_ID’]=’123’;//給一個Session變量賦值,如果該變量不存在即創建

echo$_Session[’user_ID’];//訪問Session變量

$_Session=array();//清空所有Session變量

Session_destroy();//清除會話ID

//Sessionend

//Cookie start

setCookie(’user_ID’,123);//創建一個Cookie變量user_ID=123

echo $_Cookie[’user_ID’];//訪問Cookie變量和變通變量一樣

setCookie(’user_ID’,0,time()-1);//刪除Cookie變量

//codie end該代碼不可運行,只是將所有使用方法在這里列出,實際應該不同功能在不同頁面使用。

?>

5.結語

具體來說,Cookie機制采用的是在客戶端保持狀態的方案。它是在用戶端的會話狀態的存貯機制,他需要用戶打開客戶端的Cookie支持。Cookie的作用就是為了解決HTTP協議無狀態的缺陷所作的努力。而Session機制采用的是一種在客戶端與服務器之間保持狀態的解決方案。同時我們也看到,由于采用服務器端保持狀態的方案在客戶端也需要保存一個標識,所以Session機制可能需要借助于Cookie機制來達到保存標識的目的。而Session提供了方便管理全局變量的方式。Session是針對每一個用戶的,變量的值保存在服務器上,用一個Session ID來區分是哪個用戶Session變量,這個值是通過用戶的瀏覽器在訪問的時候返回給服務器,當客戶禁用Cookie時,這個值也可能設置為由get來返回給服務器。就安全性來說:當你訪問一個使用Session的站點,同時在本地建立一個Cookie,建議在服務器端的Session機制更安全些。因為它不會任意讀取客戶存儲的信息。顯然,Cookie和Session機制各有優點,我們使用它們的時候,要根據不同的需要采用不同的機制。

參考文獻:

[1]胡忠望,劉衛東.“Cookie應用與個人信息安全研究”.計算機應用與軟件,2007.3,第24卷,第3期.

[2]侯金彪,胡凱,王文博.“php中Session變量的應用研究”.科技信息,2006.

[3][美]R.Allen Wyke.Michael J.Walker著.Robert Cox信達工作室譯.php開發人員手冊[M].北京:人民郵電出版社,2001:207-210.

[4]鄭江波.“PHP中Session機制的研究與應用”.荊門職業技術學院學報,2007.3,第22卷,第3期.

主站蜘蛛池模板: 国产福利在线免费观看| 亚洲欧美不卡视频| 亚洲爱婷婷色69堂| 亚洲 成人国产| 在线观看亚洲天堂| 五月天综合婷婷| 最新国语自产精品视频在| 在线国产毛片| 色视频久久| 欧美亚洲国产精品第一页| 亚洲国产精品国自产拍A| 91亚洲视频下载| 国产不卡网| 国产高清免费午夜在线视频| 午夜国产理论| 白丝美女办公室高潮喷水视频| 57pao国产成视频免费播放| 五月丁香伊人啪啪手机免费观看| 无码中字出轨中文人妻中文中| 97精品久久久大香线焦| 国产精品无码AV中文| 性欧美在线| 88av在线看| 亚洲精品视频网| 亚洲αv毛片| 亚洲国产中文在线二区三区免| 亚洲大尺码专区影院| 国产精品成人第一区| 欧美日韩亚洲国产主播第一区| 国产成+人+综合+亚洲欧美| 国产亚洲精品va在线| 亚洲精品视频免费| 中国一级特黄大片在线观看| 成年人午夜免费视频| 超清无码熟妇人妻AV在线绿巨人| 九九热在线视频| 国产成人久久综合777777麻豆 | AⅤ色综合久久天堂AV色综合| 欧美日韩综合网| 国产一区二区人大臿蕉香蕉| 在线精品亚洲一区二区古装| 久久久久久久97| 第一区免费在线观看| 国产欧美视频综合二区| 久久窝窝国产精品午夜看片| 久草性视频| 欧美一级在线| 成人国产精品网站在线看| 亚洲午夜国产片在线观看| 亚洲AⅤ综合在线欧美一区| 成人午夜免费观看| 成年片色大黄全免费网站久久| 久久亚洲国产视频| 久久久受www免费人成| 色婷婷色丁香| 国产成人一区在线播放| 91探花国产综合在线精品| 亚洲人成网站色7799在线播放| 天天色综网| 欧美精品亚洲精品日韩专区va| 91九色视频网| 国产精品v欧美| 国产精品国产三级国产专业不| 久久精品国产999大香线焦| 无码久看视频| 日韩区欧美国产区在线观看| 99视频在线免费| 国产成人精品日本亚洲| 国产精品网曝门免费视频| 亚洲国产精品久久久久秋霞影院| 日韩成人在线网站| 亚洲中文无码av永久伊人| 国产精品lululu在线观看| 97视频精品全国免费观看| 无码'专区第一页| 午夜精品久久久久久久无码软件| 欧美亚洲一二三区| 国产浮力第一页永久地址| 国产一区亚洲一区| 99视频在线看| av尤物免费在线观看| 日韩成人在线视频|