至于可能的知识:
如果将变量设置为"cookies",则用户无需在每次进入社区时登录.
cookie将保留在用户浏览器中,直到用户删除为止.
但是Sessions被广泛使用,因为如果用户浏览器安全设置设置得很高,您的cookie可能会被阻止.
如果将变量设置为"sessions",则将使用浏览器会话跟踪用户活动,并且每次重新打开浏览器时,您的用户都必须登录.此外,如果您使用"sessions"变量,则需要保护"sessions"目录,方法是将其放在Web根目录上,或者请求您的Web主机使其成为不可浏览的目录.
关键区别在于cookie存储在硬盘中,而会话不存储在硬盘中.会话基本上就像令牌,它们是在身份验证时生成的.只要打开浏览器,就可以使用会话.
希望以下链接将进一步澄清您的疑虑
http://wiki.answers.com/Q/What_is_the_difference_between_session_and_cookies http://www.allinterview.com/showanswers/74177.html
Cookie作为文件系统上的小文本文件(持久性cookie)或浏览器内存(非持久性cookie)存储在客户端上,并传递给服务器并随每个请求和响应返回给客户端.只要到期日期未过,持久性cookie仍将在浏览器会话之间可用.浏览器关闭后,非持久性cookie将丢失.
会话存储在内存中的服务器上.Cookie通常用作保留请求之间的用户会话引用的方式,但是如果在客户端浏览器上禁用cookie,也可以使用查询字符串参数来完成此操作.
在每个HTTP响应中,服务器都有机会添加标头Set-Cookie: {cookie-name}={cookie-data}; {cookie-options}.
浏览器将在每个后续HTTP请求中(或由选项指定)添加标头Cookie: {cookie-name}={cookie-data}.
请求#1:
POST /auth/login HTTP/1.1
Host: www.example.com
username=Justice&password=pass1234
Run Code Online (Sandbox Code Playgroud)
回复#1:
HTTP/1.1 307 Temporary Redirect
Set-Cookie: user_id=928
Location: http://www.example.com/dashboard
Run Code Online (Sandbox Code Playgroud)
请求#2:
GET /dashboard HTTP/1.1
Host: www.example.com
Cookie: user_id=928
Run Code Online (Sandbox Code Playgroud)
回应#2:
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<head>...</head>
<body>...</body>
</html>
Run Code Online (Sandbox Code Playgroud)
所有未来的请求也将包括Cookie标题.
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |