PHP 怎麼帶著 Cookie 跳轉?
如果在同一個域下系統會自動將Cookie帶著,如果要跨域就需要拼接到URL後面,Cookie是一段不超過4KB的小型文字資料,由一個名稱、一個值和其它幾個用於控制Cookie有效期、安全性、使用範圍的可選屬性組成的。
伺服器端的傳送與解析
伺服器端像用戶端傳送Cookie是通過HTTP響應報文實現的,在Set-Cookie中設定需要像用戶端傳送的cookie,cookie格式如下:
Set-Cookie: "name=value;domain=.domain.com;path=/;expires=Sat, 11 Jun 2016 11:29:42 GMT;HttpOnly;secure"
其中name=value是必選項,其它都是可選項。Cookie的主要構成如下:
name:一個唯一確定的cookie名稱。通常來講cookie的名稱是不區分大小寫的。
value:儲存在cookie中的字串值。最好為cookie的name和value進行url編碼
domain:cookie對於哪個域是有效的。所有向該域傳送的請求中都會包含這個cookie資訊。這個值可以包含子域(如:
yq.aliyun.com),也可以不包含它(如:.aliyun.com,則對於aliyun.com的所有子域都有效).
path: 表示這個cookie影響到的路徑,瀏覽器跟會根據這項設定,像指定域中匹配的路徑傳送cookie。
expires:失效時間,表示cookie何時應該被刪除的時間戳(也就是,何時應該停止向伺服器傳送這個cookie)。如果不設定這個時間戳,瀏覽器會在頁面關閉時即將刪除所有cookie;不過也可以自己設定刪除時間。這個值是GMT時間格式,如果用戶端和伺服器端時間不一致,使用expires就會存在偏差。
max-age: 與expires作用相同,用來告訴瀏覽器此cookie多久過期(單位是秒),而不是一個固定的時間點。正常情況下,max-age的優先順序高於expires。
HttpOnly: 告知瀏覽器不允許通過指令碼document.cookie去更改這個值,同樣這個值在document.cookie中也不可見。但在http請求張仍然會攜帶這個cookie。注意這個值雖然在指令碼中不可獲取,但仍然在瀏覽器安裝目錄中以檔案形式存在。這項設定通常在伺服器端設定。
secure: 安全標誌,指定後,只有在使用SSL連結時候才能傳送到伺服器,如果是http連結則不會傳遞該資訊。就算設定了secure 屬性也並不代表他人不能看到你機器本地儲存的 cookie 資訊,所以不要把重要資訊放cookie就對了伺服器端設定
以上就是PHP 怎麼帶著 Cookie 跳轉?的詳細內容,更多請關注TW511.COM其它相關文章!