域名,cookie是什么?有什么用处?cookie session的区别cookie的失效期?

域名是什么?

网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识固定的IP地址,以区别在网络上成千上万个用户和计算机。
网络在区分所有与之相连的网络和主机时,均采用了一种唯一、通用的地址格式,即每一个与网络相连接的计算机和服务器都被指派了一个独一无二的地址。
为了保证网络上每台计算机的IP地址的唯一性,用户必须向特定机构申请注册,分配IP地址。 网络中的地址方案分为两套:IP地址系统和域名地址系统。

这两套地址系统其实是一一对应的关系。IP地址用二进制数来表示,每个IP地址长32比特,由4个小于256的数字组成,数字之间用点间隔,例如100.10.0.1表示一个IP地址。
由于IP地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。
每一个符号化的地址都与特定的IP地址对应, 这样网络上的资源访问起来就容易得多了。这个与网络上的数字型IP地址相对应的字符型地址,就被称为域名。

cookie\session是什么?

Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。 一旦数据交换完毕,客户端与服务器端的连接就会关闭, 再次交换数据需要建立新的连接。
这就意味着服务器无法从连接上跟踪会话。 即用户A购买了一件商品放入购物车内, 当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。 
要跟踪该会话,必须引入一种机制。 Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。 所以出现了Cookie机制是为了辩别用户身份,进行会话跟踪而存储在客户端上的数据;

cookie是什么?

简单地说,cookie 就是浏览器储存在用户电脑上的一小段文本文件。cookie 是纯文本格式,不包含任何可执行的代码。 一个 Web 页面或服务器告知浏览器按照一定规范来储存这些信息,并在随后的请求中将这些信息发送至服务器,Web 服务器就可以使用这些信息来识别不同的用户。

大多数需要登录的网站在用户验证成功之后都会设置一个 cookie,只要这个 cookie 存在并可用,用户就可以自由浏览这个网站的任意页面。 再次说明,cookie 只包含数据,就其本身而言并不有害。

什么是SESSION

Session:在计算机中,称为“会话控制”。是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。 在打开浏览器第一次请求服务器时,服务器会自动为其创建一个session,并赋予其一个sessionID,发送给客户端的浏览器(通过cookie)。

以后客户端接着请求本应用中其他资源的时候,会自动在请求头上添加:Cookie:JSESSIONID=客户端第一次拿到的session ID 。 服务器端在接到请求时候,就会收到session ID,并根据ID在内存中找到之前创建的session对象进行比对,提供给请求使用。 当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

Session 的作用是回话跟踪,比如购物车,当A用户点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的 ,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书,这几本书是谁的。

3.常见问题

域名有什么用?

COOKIE的用处是什么?

COOKIE的有效期?

COOKIE、session有什么区别?

4.解决方案

域名有什么用?

1、IP地址比较难记忆,因而使用域名来标识网站地址,方便我们访问和记忆,这是域名最本质的作用。 
2、建网站,域名是一个网站的重要元素,一个好域名可以让网站在推广过程中更加省力,在用户脑中留下深刻印象。
3、投资赚钱。除了做网站以外,还有很多人注册域名是拿来投资,也有了不少专做域名投资的人,称为“米农”。 因为域名具有唯一性,注册一个少一个。(新浪微博域名 weibo.com 花了800万的代价才买回来的。)

COOKIE的用处是什么?

①.保存用户的登陆状态,用户进行登陆,成功登陆后,服务器生成特定的cookie返回给客户端,客户端下次访 问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,来判断用户是否登陆。

②.记录用户的行为,例如,京东商场左下角有一个最近访问的产品记录信息,当当网上有你最近浏览过的书籍信息,都是根据用户 访问页面,记录到cookie的信息来制作的。

③.电商购物车的处理,因为在不同页面,点击添加到购物车,这个信息也是记到了cookie里面。结账的时候统一提交

④.定制页面。如果网站提供了换肤的功能,我们这个时候也是将他记录到cookie里面,以便下次访问还是保持原来的风格页面。

COOKIE的有效期?

Cookie的maxAge决定着Cookie的有效期,单位为秒(Second)。 如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的Cookie持久化,即写到对应的Cookie文件中。 如果maxAge为负数,则表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效。Cookie默认的maxAge值为–1。 如果maxAge为0,则表示删除该Cookie。Cookie机制没有提供删除Cookie的方法, 因此通过设置该Cookie即时失效实现删除Cookie的效果。失效的Cookie会被浏览器从Cookie文件或者内存中删除, 
例如: 
cookie.setmaxage设置为0时,会马上在浏览器上删除指定的cookie 
cookie.setmaxage设置为-1时,代表关闭当前浏览器即失效。 
例如:Cookie c = new Cookie("username","john"); 
c.setMaxAge(60);//60秒的意思 
c.setMaxAge(60*60);//一小时 
c.setMaxAge(365*24*60*60);//一年 

COOKIE、session的区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器 
2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。 session存于服务器端。状态信息保存在服务器端。这意味着session安全性更高 
3、session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie
4、 单个cookie保存的数*据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
5、 建议将登录信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中
6、session保存在服务器,客户端不知道其中的信心;cookie保存在客户端,服务器能够知道其中的信息
7、session中保存的是对象,cookie中保存的是字符串
8、session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到,而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的

5.编码实战

6.扩展思考

如果客户端的浏览器禁用了 Cookie 怎么办?

一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互, URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。

7.参考文献.

参考一:关于客户端存储的前端面试题总结

8.更多讨论

1.expire与maxage用于设置cookie有效期上的优劣

2.现在主流的会话数据储存是什么? cookie? webstorage(sessionstorage,localstorage)? 其中cookie是一个什么样的地位,应用场景还有那些?


9.提问互动

1.expire与maxage用于设置cookie有效期上的区别?

1.1 Expires在HTTP/1.0中已经定义,Cache-Control:max-age在HTTP/1.1中才有定义,为了向下兼容,仅使用max-age不够;

1.2 一个是绝对时间值,一个是相对时间值


2.什么样的域名比较好?

hughie.cn 这个域名的使用者一定很厉害,为什么? 因为这个域名有王霸之气,一般人难以驾驭,没有一定实力的人是压不住它的。所以不单单一个域名好,厉害就可以的,还要使用者本人实力够,才能驾驭得住这些非凡的域名。


3.cookie在PC端上和手机端上的使用情况有什么区别?

一般cookie更多的在PC端上用于存储用户token,而小程序中还是使用webstorage,因为在手机上cookie难以管理。


猜你喜欢

转载自blog.csdn.net/hughie_1/article/details/80786065
今日推荐