Answers:
服务器在其响应标头中发送以下内容以设置cookie字段。
Set-Cookie:
名称=
值
如果设置了cookie,则浏览器在其请求标头中发送以下内容。
Cookie:
名称=
值
有关更多信息,请参见Wikipedia上的HTTP Cookie文章。
除了在其他答案中写的内容外,还与Cookie的路径,cookie的最长使用期限(无论它是否受保护)有关的其他详细信息也都传递给Set-Cookie响应标头。例如:
Set-Cookie:
名称=
值 [ ; expires=
日期 ] [ ; domain=
域 ] [ ; path=
路径 ] [ ; secure
]
但是,在发出下一个HTTP请求时,客户端不会将所有这些详细信息传递回服务器。
您还可以HttpOnly
在Cookie的末尾设置标志,以指示您的Cookie是仅使用http的,并且不允许使用JavaScript代码在脚本中进行访问。这有助于防止诸如会话劫持的攻击。
有关更多信息,请参见RFC 2109。另请参阅Nicholas C. Zakas的文章HTTP Cookies解释。
创建示例脚本作为resp:
#!/bin/bash
http_code=200
mime=text/html
echo -e "HTTP/1.1 $http_code OK\r"
echo "Content-type: $mime"
echo
echo "Set-Cookie: name=F"
然后使可执行文件并像这样执行。
./resp | nc -l -p 12346
打开浏览器并浏览URL:http:// localhost:1236, 您将看到浏览器发送的Cookie值
[aaa @ bbbbbbbb] $ ./resp | nc -l -p 12346 GET / HTTP / 1.1 主持人:xxx.xxx.xxx.xxx:12346 连接:保持活动状态 快取控制:max-age = 0 接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp,* / *; q = 0.8 不安全升级请求:1 用户代理:Mozilla / 5.0(Windows NT 6.1)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 49.0.2623.112 Safari / 537.36 接受编码:gzip,deflate,sdch 接受语言:en-US,en; q = 0.8,ru; q = 0.6 Cookie:名称= F