现在的位置: 首页 > 编程语言 > 正文

cookie的介绍及使用方法

2020年01月08日 编程语言 ⁄ 共 1213字 ⁄ 字号 评论关闭

什么是Cookie

  首先来讲,cookie是浏览器的技术,Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,可以理解为服务端给客户端的一个小甜点,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息。

Cookie的原理

  cookie的工作原理是:浏览器访问服务端,带着一个空的cookie,然后由服务器产生内容,浏览器收到相应后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断这个是“谁”了。

会话跟踪

  我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。

  在一个会话的多个请求中共享数据,这就是会话跟踪技术。例如在一个会话中的请求如下:

  请求银行主页;

  请求登录(请求参数是用户名和密码);

  请求转账(请求参数与转账相关的数据);

  请求信誉卡还款(请求参数与还款相关的数据)。

  在这上会话中当前用户信息必须在这个会话中共享的,因为登录的是张三,那么在转账和还款时一定是相对张三的转账和还款!这就说明我们必须在一个会话过程中有共享数据的能力。而web中这种能力的实现就要依靠cookie和session。

cookie

  Cookie的由来

  大家都知道HTTP协议是无状态的。

  无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。

  一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。

  状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数据又是我们需要保存的,也就是说要“保持状态”。因此Cookie就是在这样一个场景下诞生。

  ​并且还有一个问题就是,你登陆我的网站的时候,我没法确定你是不是登陆了,之前我们学的django,虽然写了很多页面,但是用户不用登陆都是可以看所有网页的,只要他知道网址就行,但是我们为了自己的安全机制,我们是不是要做验证啊,访问哪一个网址,都要验证用户的身份,但是还有保证什么呢,用户登陆过之后,还要保证登陆了的用户不需要再重复登陆,就能够访问我网站的其他的网址的页面,对不对,但是http无状态啊,怎么保证这个事情呢?此时就要找cookie了。

  结束语:以上就是关于cookie的介绍及使用方法的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.