返回

cookie 各个参数详解

前端

setcookie() 函数用于向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的名称指定为相同名称的变量。

setcookie() 函数的语法如下:

setcookie(name, value, expire, path, domain, secure, httponly);

其中,

  • name 是 cookie 的名称。
  • value 是 cookie 的值。
  • expire 是 cookie 的过期时间。
  • path 是 cookie 的路径。
  • domain 是 cookie 的域。
  • secure 是 cookie 的安全标志。
  • httponly 是 cookie 的 HttpOnly 标志。

下面分别介绍每个参数的具体含义:

  • name :cookie 的名称。cookie 的名称必须是有效的 HTTP 头名称,不能包含空格、分号、逗号或其他特殊字符。
  • value :cookie 的值。cookie 的值可以是任何字符串。
  • expire :cookie 的过期时间。cookie 的过期时间是一个 Unix 时间戳,表示 cookie 的有效期至该时间戳为止。如果未设置 cookie 的过期时间,则 cookie 将在浏览器会话结束时失效。
  • path :cookie 的路径。cookie 的路径指定了 cookie 的作用范围。如果一个 cookie 的路径是 "/", 则该 cookie 将在网站的所有页面上有效。如果一个 cookie 的路径是 "/foo/", 则该 cookie 将仅在网站的 "/foo/" 目录下的页面上有效。
  • domain :cookie 的域。cookie 的域指定了 cookie 的作用域。如果一个 cookie 的域是 "example.com", 则该 cookie 将在 "example.com" 和 "www.example.com" 上有效。
  • secure :cookie 的安全标志。cookie 的安全标志指定了 cookie 是否只能通过 HTTPS 协议发送。如果一个 cookie 的安全标志为 true,则该 cookie 将仅在 HTTPS 协议下发送。
  • httponly :cookie 的 HttpOnly 标志。cookie 的 HttpOnly 标志指定了 cookie 是否只能通过 HTTP 协议发送。如果一个 cookie 的 HttpOnly 标志为 true,则该 cookie 将无法通过 JavaScript 访问。

setcookie() 函数可以设置多个 cookie。要设置多个 cookie,可以多次调用 setcookie() 函数。