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