http协议中cookie和session的区别

1、

http协议中cookie和session的区别_第1张图片

当客户端访问一个支持cookie的网站的时候,用户就会提供包括用户名在内的个人信息,把它提交到服务器,接着服务器在向客户端回传相应的超文本的同时,也会发回这些个人信息。当然,这些信息并不是存放在reponsebody里面,而是在response header里面。当客浏览器接收到服务端响应以后,浏览器就会将这些信息存放在指定的位置,这时候客户端再向服务端发送请求的时候就会将相应的cookie发送到服务端。这些cookie信息就放在request头部里面。有了这个技术,服务端在接收到请求以后,就能通过分析存放在请求中的cookie信息,得到特有的判断,从而动态地生成与客户端相应的内容。

http协议中cookie和session的区别_第2张图片

这样就弥补了http协议无状态的不足。因为http协议是无状态的,所以说,一旦这四步交替完成,那么客户端和服务端的连接就关闭了。如果再次交换数据,就需要重新建立新的连接。这就意味着服务端无法从连接上跟踪对话,而cookie机制的引用就解决了这个缺点。

2、

http协议中cookie和session的区别_第3张图片

 

3、

http协议中cookie和session的区别_第4张图片

session是存储在服务端的,当客户端再次请求的时候,是不需要携带session信息的,而是直接访问服务端的session信息查询用户身份就可以了。

4、

http协议中cookie和session的区别_第5张图片

5、

cookie是保存在客户端的,session是保存在服务端的。

cookie中保存的是字符串,而session中能够存储任何类型的数据。

cookie是存储在客户端浏览器中,客户端是可见的,此时,客户端的程序有可能去修改cookie中的一些内容。而session是存储在服务端的,对客户端是透明的,所以不存在敏感信息泄露的问题。就这一点上,session是优于cookie的。

一般情况下,cookie的过期时间会设置得很大,这样cookie会在浏览器中保存很长时间,而session依赖于sessionId,如果把id设置为-1的话,如果关闭浏览器,session就会失效。

由于session是保存在服务端的,每个用户都会产生一个session,如果并发访问的用户非常多的时候,就会产生非常多的session,就会非常消耗内存。而cookie保存在客户端,不占用客户端资源。所以说,如果并发很多的时候,cookie是一个很好的选择。

6、

http协议中cookie和session的区别_第6张图片

 

 

 

 

 

 

你可能感兴趣的:(笔记,Android)