zoukankan      html  css  js  c++  java
  • HTTP协议中的COOKIE机制简单理解

    1、为什么会有COOKIE这种机制

    首先一种场景, 在一个网站上面, 我发起一次请求,那服务器怎么知道我是谁?是谁发起的这次请求呢, HTTP协议是无状态的协议, 浏览器的每一次请求,服务器都当做一次新请求, 但是在实际应用中我们需要知道这个请求来自于谁,需要查找哪些信息返回给访问者,

    这个时候就引入了COOKIE机制, COOKIE机制是什么呢? 其实就是服务器给客户端返回数据的时候,中间加了一个标识, 然后客户端再次请求数据的时候,数据中带上这个标识, 那么服务器接收到请求消息时就知道这个请求来自于谁了(相当于服务器接收到请求时,如果没有带识别码,生成一个识别码给客户端, 如果有识别码,就把这个识别码需要的对应内容返回给客户端)

    COOKIE主要有哪些字段呢:

    1、name COOKIE的名字

    2、value COOKIE对应的值

    3、domain 域名 就是说这个COOKIE对应哪一个域名有效

    4、path 路径 , COOKIE对应的哪一个路径才会有效

    5、expires/Max-Age 字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。

    举一个例子,看看我们的浏览器怎么样去决定要带哪些COOKIE值,假设浏览器有如下COOKIE值

    Set-Cookie: id=123456789; expires=Wed, 25-Apr-2018 06:04:48 GMT; domain = 119.29.100.135 path=/pro/

    如下四个请求:

    1、http://119.29.100.138:/pro/

    2、http://119.29.100.135:/pro/

    3、http://119.29.100.135:/pro/test/

    4、http://119.29.100.135:/pro11/

    结果:

    2、3访问的时候会带上对应的COOKIE id =123456789

    1、不会带上因为域名不对

    4、不会带上因为路径不对

  • 相关阅读:
    nyoj-707-A Simple Problem
    nyoj-290-动物统计加强版
    nyoj-27-水池数目
    nyoj-92-图像有用区域
    nyoj-82-迷宫寻宝(一)
    nyoj-289-苹果
    nyoj-311-完全背包
    Docker: docker network 容器网络
    Docker: docker container常用命令实战(2)-数据持久化
    Docker: docker container常用命令实战
  • 原文地址:https://www.cnblogs.com/ymwang/p/8658607.html
Copyright © 2011-2022 走看看