HTTP请求中cookies的使用

作者: Hing0000 | 来源:发表于2015-10-02 01:11 被阅读6081次

    Cookie的作用:

    Cookie是用于维持服务端会话状态的,通常由服务端写入,在后续请求中,供服务端读取。

    HTTP请求,Cookie的使用过程

    1、server通过HTTP Response中的"Set-Cookie: header"把cookie发送给client

    2、client把cookie通过HTTP Request 中的“Cookie: header”发送给server

    3、每次HTTP请求,Cookie都会被发送。

    http请求发送cookies的条件:

    1、本地已经缓存有cookies

    2、根据请求的URL来匹配cookies的domain、path属性,如果都符合才会发送。[url的匹配规则请查看]

    举个例子:访问www.baidu.com时,就不发送www.qq.com的cookies.

    Cookies查看与存放路径

    cookies查看:

    大家可以使用抓包工具,这种工具就不多话,网上搜索出很多。使用这些工具中可以清晰的看到Http Request 中的Cookie, 和Http Response中的cookie

    cookies存放路径:

    这里以iOS客户端请求为例:

    客户端请求后,cookies会保存在App的沙盒下:

    这是我做应用的沙盒路径:/Users/a-hing/Library/Developer/CoreSimulator/Devices/FECA1CCE-4F9D-42B7-AC84-EEB94171E37C/data/Containers/Data/Application/79CEED3E-F7D9-4589-BEA5-44E1345CA71A/Library/cookes

    大家可以去到自己应用的沙盒路径下,打开cookies看看里面的内容。

    网站的登陆与App的自动登陆原理:

    用户在连接服务器时,服务器生成一个唯一的SessionID 。而SessionID这一数据则是保存到客户端,

    用Cookie保存的,用户提交页面时,会将 SessionID提交到服务器端,来存取Session数据。

    相关文章

      网友评论

      • brownfeng:正好要用这个
      • Hing0000:是的,会把用户的信息保存在cookies中(这个可以跟后台定)。
        一般不需要特殊操作,如果符合url匹配规则,HTTP请求的时候会自带已有的cookies。你可以拦包看看请求的header.
      • Ljson:用这个做登录的话,就相当于把用户的信息(例如ID)保存在cookie里面吧?但是我们如何操作cookie呢?
      • Ljson:用这个做登录的话,就相当于把用户的信息(例如ID)保存在cookie里面吧?但是我们如何操作cookie呢?

      本文标题:HTTP请求中cookies的使用

      本文链接:https://www.haomeiwen.com/subject/takgcttx.html