分享人:许永坚
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识固定的IP地址,以区别在网络上成千上万个用户和计算机。
网络在区分所有与之相连的网络和主机时,均采用了一种唯一、通用的地址格式,即每一个与网络相连接的计算机和服务器都被指派了一个独一无二的地址。
为了保证网络上每台计算机的IP地址的唯一性,用户必须向特定机构申请注册,分配IP地址。
网络中的地址方案分为两套:IP地址系统和域名地址系统。
这两套地址系统其实是一一对应的关系。IP地址用二进制数来表示,每个IP地址长32比特,由4个小于256的数字组成,数字之间用点间隔,例如100.10.0.1表示一个IP地址。
由于IP地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。
每一个符号化的地址都与特定的IP地址对应,
这样网络上的资源访问起来就容易得多了。这个与网络上的数字型IP地址相对应的字符型地址,就被称为域名。
Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。
一旦数据交换完毕,客户端与服务器端的连接就会关闭, 再次交换数据需要建立新的连接。
这就意味着服务器无法从连接上跟踪会话。
即用户A购买了一件商品放入购物车内, 当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。
要跟踪该会话,必须引入一种机制。 Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。
所以出现了Cookie机制是为了辩别用户身份,进行会话跟踪而存储在客户端上的数据;
简单地说,cookie 就是浏览器储存在用户电脑上的一小段文本文件。cookie 是纯文本格式,不包含任何可执行的代码。
一个 Web 页面或服务器告知浏览器按照一定规范来储存这些信息,并在随后的请求中将这些信息发送至服务器,Web 服务器就可以使用这些信息来识别不同的用户。
大多数需要登录的网站在用户验证成功之后都会设置一个 cookie,只要这个 cookie 存在并可用,用户就可以自由浏览这个网站的任意页面。
再次说明,cookie 只包含数据,就其本身而言并不有害。
Session:在计算机中,称为“会话控制”。是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。
在打开浏览器第一次请求服务器时,服务器会自动为其创建一个session,并赋予其一个sessionID,发送给客户端的浏览器(通过cookie)。
以后客户端接着请求本应用中其他资源的时候,会自动在请求头上添加:Cookie:JSESSIONID=客户端第一次拿到的session ID 。
服务器端在接到请求时候,就会收到session ID,并根据ID在内存中找到之前创建的session对象进行比对,提供给请求使用。
当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
1、IP地址比较难记忆,因而使用域名来标识网站地址,方便我们访问和记忆,这是域名最本质的作用。
2、建网站,域名是一个网站的重要元素,一个好域名可以让网站在推广过程中更加省力,在用户脑中留下深刻印象。
3、投资赚钱。除了做网站以外,还有很多人注册域名是拿来投资,也有了不少专做域名投资的人,称为“米农”。
因为域名具有唯一性,注册一个少一个。(新浪微博域名 weibo.com 花了800万的代价才买回来的。)
①.保存用户的登陆状态,用户进行登陆,成功登陆后,服务器生成特定的cookie返回给客户端,客户端下次访 问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,来判断用户是否登陆。
②.记录用户的行为,例如,京东商场左下角有一个最近访问的产品记录信息,当当网上有你最近浏览过的书籍信息,都是根据用户 访问页面,记录到cookie的信息来制作的。
③.电商购物车的处理,因为在不同页面,点击添加到购物车,这个信息也是记到了cookie里面。结账的时候统一提交
④.定制页面。如果网站提供了换肤的功能,我们这个时候也是将他记录到cookie里面,以便下次访问还是保持原来的风格页面。
一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互, URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。
参考三:网址前为什么要加www
参考五:关于客户端存储的前端面试题总结
1.expire与maxage用于设置cookie有效期上的优劣
2.现在主流的回话数据储存是什么? cookie? webstorage(sessionstorage,localstorage)? 其中cookie是一个什么样的地位,应用场景还有那些?
感谢大家观看
BY : 郭俊伟 | 蓝裕伟 | 许永坚