JavaWeb 之 Cookie

0x01:为什么会有Cookies?

早期的互联网只是单纯的浏览信息,就像一个窗口一样,可以看但是没办法触摸到外面的风景,即是所谓的没有交互
慢慢发展逐渐有了交互式Web,这里提一嘴HTTP无状态(服务器无法知道两个请求是否来自同一个浏览器),由于HTTP无状态,作为交互式如果无法知道请求来自同一个浏览器。

譬如登陆功能,假如现在登陆到一个网站,然后你想继续点击一个该网站里的某个页面,但是因为HTTP无状态,它忘记了你登录了没,就还要再让你登陆。

我们发现”没有记忆“严重阻碍了交互式Web的发展, 那自然地我们需要想办法让我们的服务器记住用户上一次的操作,有人用到了隐藏域(隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上)

网景公司当时一名员工Lou Montulli(卢-蒙特利),在1994年将“cookies”的概念应用于网络通信,用来解决用户网上购物的购物车历史记录,而当时最强大的浏览器正是网景浏览器,在网景浏览器的支持下其他浏览器也渐渐开始支持Cookie,到目前所有浏览器都支持Cookie了。

总结:解决HTTP无状态阻碍交互式Web发展的问题,使得用户在访问交互式Web时可以被服务器记住

0x02:什么是Cookies?

Cookie是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式放置在客户端,
然后客户端每次向服务器发送请求的时间都会带上这些特殊的信息,用于服务器记录客户端的状态

通俗说,cookie就是你访问的网站发给你的一个牌子,用来标记和记录你状态

0x03:Cookie的原理?

WEB服务器通过在HTTP响应消息中增加Set-Cookie响应头字段将Cookie信息发送给浏览器,
浏览器则通过在HTTP请求消息中增加Cookie请求头字段将Cookie回传给WEB服务器。

posted @ 2020-12-31 18:21  折学Lex  阅读(72)  评论(0编辑  收藏  举报