We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
根据产品需求需要实现用户账号自动登功能,实现方法是使用cookie记录用户的remember token,使得浏览器被关闭后根据用户设备里存储的remember token进行自动登陆。功能上线使用后发现,通过强制退出的方式关闭浏览器(微信,chrome,safari),有时候会出现cookie丢失的情况。
由于上述具体表现的发生,因此怀疑浏览器强退的时候,有时候会没有把内存里的cookie写到设备的文件里,导致浏览器再打开后cookie的丢失。
后来通过查看chrome源码对于cookie存储的处理大体上能够验证我们的怀疑。具体细节没有研究,我的理解是是chrome浏览器基于webkit内核,所有的cookie操作都会先写到system cookie里,然后由各设备浏览器版本基于不同设备实现的cookie存储对象负责监听system cookie的change事件,把cookie写到cookie文件里,因为写cookie文件操作并不是实时的,而是通过异步事件,所以浏览器强退的时候可能就会造车内存中未同步到cookie文件里的数据丢失。具体cookie存储的技术细节,感兴趣的童鞋可以直接看代码 (https://cs.chromium.org/chromium/src/ios/net/cookies/cookie_store_ios.mm) 。
在cookie测试页面上 (http://www.html-kit.com/tools/cookietester) 出现cookie 丢失的情况下,相关请求头和响应头数据。
测试设备:iphone6s 系统版本:ios 10.3.3 浏览器:Safari 微信浏览器 chrome
[18 Aug 2017, 3:28:06 PM] GET /tools/cookietester/ HTTP/1.1 Host: www.html-kit.com Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Upgrade-Insecure-Requests: 1 Cookie: TestCookie_Name=TestCookie_Value_022729; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954 User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN Accept-Language: zh-cn Accept-Encoding: gzip, deflate Connection: keep-alive
[18 Aug 2017, 3:28:19 PM] POST /tools/cookietester/ HTTP/1.1 (请求头) Host: www.html-kit.com Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-cn Content-Type: application/x-www-form-urlencoded Origin: http://www.html-kit.com User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN Connection: keep-alive Upgrade-Insecure-Requests: 1 Referer: http://www.html-kit.com/tools/cookietester/ Content-Length: 45 Cookie: TestCookie_Name=TestCookie_Value_022729; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
HTTP/1.1 302 Moved Temporarily (响应头) Server: openresty/1.9.3.1 Date: Fri, 18 Aug 2017 07:28:20 GMT Content-Type: text/html;charset=ISO-8859-1 Content-Length: 0 Set-Cookie: TestCookie_Name=TestCookie_Value_022758; Domain=www.html-kit.com; Expires=Sun, 20-Aug-2017 07:28:12 GMT; Path=/ Location: http://www.html-kit.com/tools/cookietester/ Vary: Accept-Encoding Age: 0 Connection: keep-alive
[18 Aug 2017, 3:28:20 PM] GET /tools/cookietester/ HTTP/1.1 Host: www.html-kit.com Origin: http://www.html-kit.com Cookie: TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954 Connection: keep-alive Upgrade-Insecure-Requests: 1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Language: zh-cn Referer: http://www.html-kit.com/tools/cookietester/ Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
[18 Aug 2017, 3:28:32 PM] POST /tools/cookietester/ HTTP/1.1(请求头) Host: www.html-kit.com Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-cn Content-Type: application/x-www-form-urlencoded Origin: http://www.html-kit.com User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN Connection: keep-alive Upgrade-Insecure-Requests: 1 Referer: http://www.html-kit.com/tools/cookietester/ Content-Length: 58 Cookie: TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
HTTP/1.1 302 Moved Temporarily(响应头) Server: openresty/1.9.3.1 Date: Fri, 18 Aug 2017 07:28:32 GMT Content-Type: text/html;charset=ISO-8859-1 Content-Length: 0 Set-Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; Domain=www.html-kit.com; Expires=Sun, 20-Aug-2017 07:28:24 GMT; Path=/ Location: http://www.html-kit.com/tools/cookietester/ Vary: Accept-Encoding Age: 0 Connection: keep-alive
[18 Aug 2017, 3:28:32 PM] GET /tools/cookietester/ HTTP/1.1 Host: www.html-kit.com Origin: http://www.html-kit.com Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954 Connection: keep-alive Upgrade-Insecure-Requests: 1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Language: zh-cn Referer: http://www.html-kit.com/tools/cookietester/ Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
[18 Aug 2017, 3:28:42 PM] POST /tools/cookietester/ HTTP/1.1(请求头) Host: www.html-kit.com Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-cn Content-Type: application/x-www-form-urlencoded Origin: http://www.html-kit.com User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN Connection: keep-alive Upgrade-Insecure-Requests: 1 Referer: http://www.html-kit.com/tools/cookietester/ Content-Length: 45 Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
HTTP/1.1 302 Moved Temporarily(响应头) Server: openresty/1.9.3.1 Date: Fri, 18 Aug 2017 07:28:42 GMT Content-Type: text/html;charset=ISO-8859-1 Content-Length: 0 Set-Cookie: TestCookie_Name=TestCookie_Value_022824; Domain=www.html-kit.com; Expires=Sun, 20-Aug-2017 07:28:34 GMT; Path=/ Location: http://www.html-kit.com/tools/cookietester/ Vary: Accept-Encoding Age: 0 Connection: keep-alive
[18 Aug 2017, 3:28:43 PM] GET /tools/cookietester/ HTTP/1.1 Host: www.html-kit.com Origin: http://www.html-kit.com Cookie: TestCookie_Name=TestCookie_Value_022824; TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954 Connection: keep-alive Upgrade-Insecure-Requests: 1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/*;q=0.8 Accept-Language: zh-cn Referer: http://www.html-kit.com/tools/cookietester/ Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
浏览器关闭前TestCookie_Name一共做了两次设置,第一次设置的值为TestCookie_Value_022758(旧值),第二次设置的值为TestCookie_Value_022824(新值)。 浏览器关闭后再打开并加载页面时,请求头里cookie的值是TestCookie_Name=TestCookie_Value_022758(旧值),而关闭之前加载页面时请求头里cookie的值是TestCookie_Name=TestCookie_Value_022824(新值)。 因此,ios上的浏览器强制退出的情况下,可能会造成cookie数据的丢失。 [18 Aug 2017, 3:28:53 PM] GET /tools/cookietester/ HTTP/1.1 Host: www.html-kit.com Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Upgrade-Insecure-Requests: 1 Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954 User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN Accept-Language: zh-cn Accept-Encoding: gzip, deflate Connection: keep-alive
The text was updated successfully, but these errors were encountered:
No branches or pull requests
问题背景
根据产品需求需要实现用户账号自动登功能,实现方法是使用cookie记录用户的remember token,使得浏览器被关闭后根据用户设备里存储的remember token进行自动登陆。功能上线使用后发现,通过强制退出的方式关闭浏览器(微信,chrome,safari),有时候会出现cookie丢失的情况。
具体表现
问题分析
由于上述具体表现的发生,因此怀疑浏览器强退的时候,有时候会没有把内存里的cookie写到设备的文件里,导致浏览器再打开后cookie的丢失。
后来通过查看chrome源码对于cookie存储的处理大体上能够验证我们的怀疑。具体细节没有研究,我的理解是是chrome浏览器基于webkit内核,所有的cookie操作都会先写到system cookie里,然后由各设备浏览器版本基于不同设备实现的cookie存储对象负责监听system cookie的change事件,把cookie写到cookie文件里,因为写cookie文件操作并不是实时的,而是通过异步事件,所以浏览器强退的时候可能就会造车内存中未同步到cookie文件里的数据丢失。具体cookie存储的技术细节,感兴趣的童鞋可以直接看代码 (https://cs.chromium.org/chromium/src/ios/net/cookies/cookie_store_ios.mm) 。
抓包数据记录
在cookie测试页面上 (http://www.html-kit.com/tools/cookietester) 出现cookie 丢失的情况下,相关请求头和响应头数据。
测试设备:iphone6s
系统版本:ios 10.3.3
浏览器:Safari 微信浏览器 chrome
测试页面加载(请求头里有一些是之前操作的cookie,大概是十个左右的cookie,用于模拟实际环境)
[18 Aug 2017, 3:28:06 PM]
GET /tools/cookietester/ HTTP/1.1
Host: www.html-kit.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Upgrade-Insecure-Requests: 1
Cookie: TestCookie_Name=TestCookie_Value_022729; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Connection: keep-alive
设置cookie的请求头和响应头。TestCookie_Name=TestCookie_Value_022758
[18 Aug 2017, 3:28:19 PM]
POST /tools/cookietester/ HTTP/1.1 (请求头)
Host: www.html-kit.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Origin: http://www.html-kit.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Referer: http://www.html-kit.com/tools/cookietester/
Content-Length: 45
Cookie: TestCookie_Name=TestCookie_Value_022729; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
HTTP/1.1 302 Moved Temporarily (响应头)
Server: openresty/1.9.3.1
Date: Fri, 18 Aug 2017 07:28:20 GMT
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 0
Set-Cookie: TestCookie_Name=TestCookie_Value_022758; Domain=www.html-kit.com; Expires=Sun, 20-Aug-2017 07:28:12 GMT; Path=/
Location: http://www.html-kit.com/tools/cookietester/
Vary: Accept-Encoding
Age: 0
Connection: keep-alive
设置cookie完成后加载页面
[18 Aug 2017, 3:28:20 PM]
GET /tools/cookietester/ HTTP/1.1
Host: www.html-kit.com
Origin: http://www.html-kit.com
Cookie: TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: zh-cn
Referer: http://www.html-kit.com/tools/cookietester/
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
设置cookie的请求头和响应头。TestCookie_Name_201708182812=TestCookie_Value_022812;
[18 Aug 2017, 3:28:32 PM]
POST /tools/cookietester/ HTTP/1.1(请求头)
Host: www.html-kit.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Origin: http://www.html-kit.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Referer: http://www.html-kit.com/tools/cookietester/
Content-Length: 58
Cookie: TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
HTTP/1.1 302 Moved Temporarily(响应头)
Server: openresty/1.9.3.1
Date: Fri, 18 Aug 2017 07:28:32 GMT
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 0
Set-Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; Domain=www.html-kit.com; Expires=Sun, 20-Aug-2017 07:28:24 GMT; Path=/
Location: http://www.html-kit.com/tools/cookietester/
Vary: Accept-Encoding
Age: 0
Connection: keep-alive
设置cookie完成后加载页面
[18 Aug 2017, 3:28:32 PM]
GET /tools/cookietester/ HTTP/1.1
Host: www.html-kit.com
Origin: http://www.html-kit.com
Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: zh-cn
Referer: http://www.html-kit.com/tools/cookietester/
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
设置cookie的请求头和响应头。TestCookie_Name=TestCookie_Value_022824
[18 Aug 2017, 3:28:42 PM]
POST /tools/cookietester/ HTTP/1.1(请求头)
Host: www.html-kit.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Origin: http://www.html-kit.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Referer: http://www.html-kit.com/tools/cookietester/
Content-Length: 45
Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
HTTP/1.1 302 Moved Temporarily(响应头)
Server: openresty/1.9.3.1
Date: Fri, 18 Aug 2017 07:28:42 GMT
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 0
Set-Cookie: TestCookie_Name=TestCookie_Value_022824; Domain=www.html-kit.com; Expires=Sun, 20-Aug-2017 07:28:34 GMT; Path=/
Location: http://www.html-kit.com/tools/cookietester/
Vary: Accept-Encoding
Age: 0
Connection: keep-alive
设置cookie完成后加载页面。
[18 Aug 2017, 3:28:43 PM]
GET /tools/cookietester/ HTTP/1.1
Host: www.html-kit.com
Origin: http://www.html-kit.com
Cookie: TestCookie_Name=TestCookie_Value_022824; TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/*;q=0.8
Accept-Language: zh-cn
Referer: http://www.html-kit.com/tools/cookietester/
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
浏览器关闭后重新打开,加载页面。
浏览器关闭前TestCookie_Name一共做了两次设置,第一次设置的值为TestCookie_Value_022758(旧值),第二次设置的值为TestCookie_Value_022824(新值)。
浏览器关闭后再打开并加载页面时,请求头里cookie的值是TestCookie_Name=TestCookie_Value_022758(旧值),而关闭之前加载页面时请求头里cookie的值是TestCookie_Name=TestCookie_Value_022824(新值)。
因此,ios上的浏览器强制退出的情况下,可能会造成cookie数据的丢失。
[18 Aug 2017, 3:28:53 PM]
GET /tools/cookietester/ HTTP/1.1
Host: www.html-kit.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Upgrade-Insecure-Requests: 1
Cookie: TestCookie_Name_201708182812=TestCookie_Value_022812; TestCookie_Name=TestCookie_Value_022758; TestCookie_Name_201708181803=TestCookie_Value_011803; TestCookie_Name_201708181743=TestCookie_Value_011743; TestCookie_Name_201708181128=TestCookie_Value_011128; TestCookie_Name_201708181123=TestCookie_Value_011123; TestCookie_Name_201708181115=TestCookie_Value_011115; TestCookie_Name_201708181041=TestCookie_Value_011041; TestCookie_Name_201708181037=TestCookie_Value_011037; TestCookie_Name_201708181032=TestCookie_Value_011032; TestCookie_Name_201708180954=TestCookie_Value_010954
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Connection: keep-alive
The text was updated successfully, but these errors were encountered: