首页 > 技术文章 > 计算机网路面试知识点

midiyu 2017-11-28 21:08 原文

cookie和session的机制是什么?有什么区别?

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话,它可以弥补http协议无状态的不足。常用的会话跟踪技术是cookie与session。cookie通过在客户端记录信息确定用户身份,session通过在服务器端记录信息确定用户身份。

cookie有什么作用?

cookie可以解决http的无状态的问题,与服务器进行交互,作为http规范存在。它具有极高的简便性、可扩展性和可用性,也可以通过加密和SSL技术来提高其安全性。因此推荐使用cookie作为标识而不是身份验证的工具。

cookie的缺点

(1) 大小和数目受限制。浏览器对一个域cookie的条目数有上限要求,且每个cookie的大小不得超过4kb。

(2)存在安全性问题,易被人拦截。

(3)需要指定域,不可以跨域

(4)浪费带宽,因为我每次请求一个新的页面,cookie都会被自动发送过去。

(5)有的移动端浏览器不支持cookie或浏览器禁用cookie

(6)有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。

如何删除cookie

在服务器端,以java为例,可以将同名cookie的maxAge属性置0;在客户端,可以将expires属性设置为过去的一个时间。即:
document.cookie = ‘name=’+cookie_name+’;expires=’+ passed_date


作者: 圣经的旋律 
链接:https://www.imooc.com/article/16746
来源:慕课网

推荐阅读