Session、Cookie与Application的区别

联系

Cookie和Session都是客户端和服务器之间保持交互状态的解决方案,Application是web应用中,为应用程序提供了一个全局的状态,所有的客户端都可以使用该状态

Cookie

Cookie是一小段的文本信息。当客户端请求服务器时,如果服务器需要记录该客户端的状态,则可以在向客户端响应response中向客户端浏览器发送一个Cookie,从而客户端将Cookie保存起来。当浏览器再次请求该网站时,浏览器把自身的请求和Cookie一同发给服务器,服务器检查客户端的Cookie,用此方式来辨别客户端的状态。
服务器也可以根据需求修改Cookie的内容。

Session

Session也是作为保存用户状态的机制。但是Session保存的客户端状态是放在服务器中。当客户端请求服务器时,如果服务器需要记录下来该用户的状态,则为其创建Session并生成相对应的SessionID,保存该用户状态,并把本次响应中的SessionID返回给客户端保存;如果服务器中已经有该用户的状态,则按照客户端的SessionID把该Session状态检索出。
客户端保存这个sessionid的方式可以采用 cookie机制 ,这样在交互过程中浏览器可以自动的按照规则把这个标识发挥给服务器;若浏览器禁用Cookie的话,可以通过 URL重写机制 将sessionid传回服务器。

Session和Cookie对比

  • 实现方式:Session的实现一般依赖于Cookie机制,通过Cookie机制传回SessionID。
  • 大小限制:Cookie有大小限制,一般与浏览器在每个站点允许的Cookie个数有关;Session没有这种限制。
  • 安全方面:Cookie存在安全隐患,可以查找本地浏览器中的Cookie来对服务器进行操作,Session保存在服务器端,相对更安全。
  • 资源消耗:Session保存在服务器端(一段时间之后会消失),每次进行查找都会给服务器带来压力。

Application

Application:与一个Web应用程序对应,为应用程序提供一个全局的状态,所有的客户端都可以使用该状态。

发布了52 篇原创文章 · 获赞 26 · 访问量 3396

猜你喜欢

转载自blog.csdn.net/weixin_43796685/article/details/104584204