在经历一场笔试后,才知道作为一个web前端开发人员,计算机网络和算法也是要有点知识储备的。下面给大家分享一下 我整理的Cookie。
在说Cookie的时候 不得不先来了解下HTTP协议
HTTP服务器在向客户发送被请求的文件后,不保存任何关于该客户的状态信息。假设某个客户在短时间内连续两次请求同一个对象,HTTP服务器并不会因为刚刚为该 客户提供了该对象就不再做出反应,而是重新发送该对象,服务器已经完全忘记了之前做过的事情,因为HTTP服务器不会保存关于客户的任何信息,所以HTTP是一种无状态协议
由于HTTP是一种无状态的协议,客户和服务器之间一旦数据交换完毕,客户端和服务器的连接就会关闭,再次进行数据交换时需要建立新的连接,这就意味着服务器端无法跟踪用户的会话。比如我们经常遇见的登录问题,每次进入网站都要进行用户名和密码校验登录,用户体验不佳。为了解决这一问题,Web应用引入了Cookie机制,用于用户跟踪。
Cookie中文名称为小型文本文件,为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据。
HTTP请求报文中的Cookie头行:Cookie。当用户向已经访问过并且获得Cookie信息的网站发送HTTP请求报文时,浏览器会自动检索本地的Cookie文件,并在每个请求报文中通过Cookie头行,携带上网站为该用户分配的cookie信息。网站可以基于用户请求报文中的Cookie值,实现用户的跟踪、会话关联等。
Cookie可以实现在无状态的HTTP之上建立用户会话,但是使用Cookie也存在一定安全问题,多个用户使用同一台计算机的情况下,Cookie不会区分他们的身份,可能会泄露用户的信息,因为Cookie不会区分他们的身份。除非使用不同的用户登录。
今日分享就到这里啦~
这是我被问到的面试题,希望对大家有帮助