1.介紹
cookie位於用戶的計算機上,用來維護用戶計算機中的信息,直到用戶刪除。比如我們在網頁上登錄某個軟件時輸入用戶名及密碼時如果保存為cookie,則每次我們訪問的時候就不需要登錄網站了。我們可以在瀏覽器上保存任何文本,而且我們還可以隨時隨地的去阻止它或者刪除。我們同樣也可以禁用或者編輯cookie,但是有一點需要注意不要使用cookie來存儲一些隱私數據,以防隱私泄露 |
cookie |
sessionsession稱為會話信息,位於web服務器上,主要負責訪問者與網站之間的交互,當訪問瀏覽器請求http地址時,將傳遞到web服務器上並與訪問信息進行匹配, 當關閉網站時就表示會話已經結束,網站無法訪問該信息了,所以它無法保存永久數據,我們無法訪問以及禁用網站 |
session |
2.session與cookie的區別
session與cookie的區別 (1)Cookie以文本文件格式存儲在瀏覽器中,而session存儲在服務端它存儲了限制數據量。它只允許4kb它沒有在cookie中保存多個變量。 (2)cookie的存儲限制了數據量,只允許4KB,而session是無限量的 (3)我們可以輕松訪問cookie值但是我們無法輕松訪問會話值,因此它更安全 (4)設置cookie時間可以使cookie過期。但是使用session-destory(),我們將會銷毀會話。 總結:如果我們需要經常登錄一個站點時,最好用cookie來保存信息,要不然每次登陸都特別麻煩,如果對於需要安全性高的站點以及控制數據的能力時需要用會話效果更佳,當然我們也可以結合兩者,使網站按照我們的想法進行運行 |
3.路由代碼
Route::get('cookie','CookieController@cookie');//cookie實驗 Route::get('getCookie','CookieController@getCookie');//得到cookie實驗 Route::get('session','SessionController@session');//session實驗
4.控制層代碼
4.1 session
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class SessionController extends Controller { //session例子 public function session(Request $request) { //1.Http request session方法 // $request->session()->push('name','李四'); // var_dump($request->session()->get('name')) ; //2.session 類 // \Session::put(['sex' => '男']); // echo \Session::get('sex'); // echo \Session::get('sex1','女');//設定一個默認的值 // 3.取全部值 // dd(\Session::all()); //4.刪除某個值 // dd(\Session::forget('name')); } }
4.2 cookie
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Cookie; class CookieController extends Controller { //cookie的簡單使用 public function cookie() { return response('添加成功')->cookie('name','張三',1); } public function getCookie(){ // echo \request()->cookie('name'); echo Cookie::get('name'); } }