We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
大概的比较一下session和cookie 的区别,不涉及深入的原理。
首先,http是无状态的协议,客户每次读取web页面的时候,服务器都打开新的会话,服务器也不会自动维护客户的上下文信息,要实现辨别用户身份,就用到了cookie
当我们填好用户密码登录的时候,会向服务器发送一个请求,服务器验证用户通过后,就会给客户端返回一个响应头'Set-Cookie' ,从而使客户在之后的请求,请求头中都有用户信息的cookie,服务器拿到请求头中的cookie,验证正确以及是否过期,来决定是否允许访问。这种会话cookie,是保存在内存中的,也就是当浏览器程序关闭以后,内存消失,cookie也就不存在了。还有一种像chrome带有保存密码的功能,是将cookie信息保存在客户端硬盘中,使得我们下次打开浏览器还可以保持用户登录状态。
cookie的内容主要包括:名字,值,过期时间,路径和域, 所以不在作用范围内的(路径或者domain域名) ,cookie不会生效,同样过期时间后,cookie也会消失
一个domain下最多保持20条cookie,每条cookie的不超过4k
session是一种服务器端的信息管理机制,将各种信息以文件的形式保存在服务器的硬盘中。但是为了与客户端交流,知道当前客户端访问是否有权限,这种服务器端保持状态的方案在客户端也需要一个标识辨别用户,就要用到cookie。通过在cookie添加session_id,来辨别是谁访问的。当客户端第一次向服务器发出请求,客户端会先检查一下,客户端的cookie里有没有session——id ,如果没有就会新创建一个。如果第二次请求有这个id,就会从存放的数据里检索对应的sessionid,匹配从而响应对应的页面或者数据。但是由于这个sessionid也是依赖cookie的,存在于客户端内存中,也就是当浏览器关闭,cookie消失,这个sessionid也就不存在了。再次访问,服务器就会认为没有,还会再创建一个sessionid。 当然这个sessionid 也可以保存在客户端硬盘中,从而保证下次打开浏览器,还拥有sessionid保持访问状态。
另外当浏览器 禁止cookie后,服务器端的做法是重定向url ,在url后面拼接一个 sessionid=xxxxxxx,从而保持了解客户端的状态。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
大概的比较一下session和cookie 的区别,不涉及深入的原理。
cookie
首先,http是无状态的协议,客户每次读取web页面的时候,服务器都打开新的会话,服务器也不会自动维护客户的上下文信息,要实现辨别用户身份,就用到了cookie
当我们填好用户密码登录的时候,会向服务器发送一个请求,服务器验证用户通过后,就会给客户端返回一个响应头'Set-Cookie' ,从而使客户在之后的请求,请求头中都有用户信息的cookie,服务器拿到请求头中的cookie,验证正确以及是否过期,来决定是否允许访问。这种会话cookie,是保存在内存中的,也就是当浏览器程序关闭以后,内存消失,cookie也就不存在了。还有一种像chrome带有保存密码的功能,是将cookie信息保存在客户端硬盘中,使得我们下次打开浏览器还可以保持用户登录状态。
cookie的内容主要包括:名字,值,过期时间,路径和域, 所以不在作用范围内的(路径或者domain域名) ,cookie不会生效,同样过期时间后,cookie也会消失
一个domain下最多保持20条cookie,每条cookie的不超过4k
session
session是一种服务器端的信息管理机制,将各种信息以文件的形式保存在服务器的硬盘中。但是为了与客户端交流,知道当前客户端访问是否有权限,这种服务器端保持状态的方案在客户端也需要一个标识辨别用户,就要用到cookie。通过在cookie添加session_id,来辨别是谁访问的。当客户端第一次向服务器发出请求,客户端会先检查一下,客户端的cookie里有没有session——id ,如果没有就会新创建一个。如果第二次请求有这个id,就会从存放的数据里检索对应的sessionid,匹配从而响应对应的页面或者数据。但是由于这个sessionid也是依赖cookie的,存在于客户端内存中,也就是当浏览器关闭,cookie消失,这个sessionid也就不存在了。再次访问,服务器就会认为没有,还会再创建一个sessionid。
当然这个sessionid 也可以保存在客户端硬盘中,从而保证下次打开浏览器,还拥有sessionid保持访问状态。
另外当浏览器 禁止cookie后,服务器端的做法是重定向url ,在url后面拼接一个 sessionid=xxxxxxx,从而保持了解客户端的状态。
两者的比较,关系
The text was updated successfully, but these errors were encountered: