cookie 常用於識別使用者。cookie 是伺服器留在使用者計算機中的小檔案。每當相同的計算機通過瀏覽器請求頁面時,它同時會傳送 cookie。通過 php,您能夠建立並取回 cookie 的值。
建立 cookie
setcookie() 函式用於設定 cookie。
語法:setcookie(name, value, expire, path, domain);
舉例:setcookie("user", "alex porter", time()+3600);
注意:setcookie() 函式必須位於標籤之前。
取回 cookie 的值
使用isset()
函式來確認是否已設定了 cookie
$_cookie
變數用於取回 cookie 的值。
刪除 cookie
當刪除 cookie 時,您應當使過期日期變更為過去的時間點。
//setcookie("user", "", time()-3600);
建立 session
session_start()
函式啟動會話
儲存 session 變數
isset() 函式檢測是否已設定
$_session
變數賦值
終結 session
如果希望刪除某些 session 資料,可以使用 unset() 或 session_destroy() 函式。
注釋:session_destroy() 將重置 session,您將失去所有已儲存的 session 資料。
session保留在伺服器端,給每個客戶分配乙個唯一的數字,作為每個客戶的標識,
cookies是保留在客戶端的,每次發出頁面請求時,都會把裡面的資料傳送給伺服器端.
cookies適合做儲存使用者的個人設定,愛好等,session適合做客戶的身份驗證.
session儲存在伺服器,客戶端不知道其中的資訊;cookie儲存在客戶端,伺服器能夠知道其中的資訊。
session中儲存的是物件,cookie中儲存的是字串。
session不能區分路徑,同乙個使用者在訪問乙個**期間,所有的session在任何乙個地方都可以訪問到。而cookie中如果設定了路徑引數,那麼同乙個**中不同路徑下的cookie互相是訪問不到的。
session需要借助cookie才能正常工作。如果客戶端完全禁止cookie,session將失效。
兩個都可以用來存私密的東西,同樣也都有有效期的說法。
session是放在伺服器上的,過期與否取決於服務期的設定,cookie是存在客戶端的,過期與否可以在cookie生成的時候設定進去。
cookie 也可以設定成關閉瀏覽器既消失.
cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上
cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session
session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的效能,考慮到減輕伺服器效能方面,應當使用cookie
單個cookie在客戶端的限制是3k,就是說乙個站點在客戶端存放的cookie不能超過3k。
乙個web站點向客戶端傳送的cookie不得超過20個,
乙個瀏覽器能建立的cookie數量最多為30個,並且每個不能超過4kb
其次不同的瀏覽器對cookie的處理不一致,且有時會出現錯誤的結果。比如:ms ie+service pack 1
不能正確處理帶網域名稱和路徑的cookie ,netscape communicator 4.05和ms ie 3.0不能正確處理不帶路徑和
時間的cookie。至於ms ie 5 好象不能處理帶網域名稱、路徑和時間的cookie。 一般做使用者登陸用session
存放使用者其他資訊可以用cookie,比如乙個網上**沒有會員系統的話,可以有cookie來存放他放到購物車裡的東西.
主要區別:
(1)cookie以文字檔案格式儲存在瀏覽器中,而session儲存在服務端。
(2)cookie的儲存限制了資料量,只允許4kb,而session是無限量的
(3)我們可以輕鬆訪問cookie值但是我們無法輕鬆訪問會話值,因此它更安全
(4)設定cookie時間可以使cookie過期。但是使用session-destory(),我們將會銷 毀會話
http無狀態設計與Cookie和Session
無狀態指的是任意乙個web請求必須完全與其他請求隔離,當請求端提出請求時,請求本身包含了相應端為相應這一請求所需的全部資訊。1.被呼叫者不儲存引數,因為無需考慮引數邏輯 由使用者來儲存狀態,進行狀態邏輯設計 http是無狀態設計的,一些sdk的設計也可以是無狀態的。2.而一些需求是需要有互動的,需要...
HTTP無狀態協議之Cookie與Session!
在討論什麼是cookie和session之前要先了解http的無狀態協議。因為cookie與session是為了解決無狀態協議而誕生的。http的無狀態協議 當客戶端向伺服器發起請求並且在接收到伺服器返回給它的響應後,它就已經完成了一次傳輸的過程。這個過程是獨立的,也是乙個新的過程。如果客戶端下次再...
使用者禁止cookie後,如何繼續使用session
如果使用者禁止cookie,伺服器仍會將sessionid以cookie的方式傳送給瀏覽器,但是,瀏覽器不再儲存這個cookie 即sessionid 了,這時就需使用url重寫了 1.什麼是url重寫 瀏覽器在訪問伺服器上的某個位址時,不能夠直接寫這個元件的位址,而應該使用伺服器生成的這個位址。s...