是否为网页上下载的每个文件加载 cookie?

Posted

技术标签:

【中文标题】是否为网页上下载的每个文件加载 cookie?【英文标题】:Does a cookie load for every file downloaded on a Web page? 【发布时间】:2019-11-03 08:55:05 【问题描述】:

如果我有一个适用于整个网站(例如 ***.com)的通用 cookie,该 cookie 是仅针对每个网页加载下载,还是针对该网页上下载的每个文件(例如图片文件)?

【问题讨论】:

【参考方案1】:

cookie 只是在 HTTP 请求的标头部分中提供的附加信息。

通过包含该行来设置 cookie

Set-Cookie: key=value

在从服务器到客户端的 HTTP 响应中。它只需要设置一次,除非cookie存储被清除,否则它会一直保留在浏览器中。

如果需要,Cookie 也可以自动过期

Set-Cookie: key=value; Expires=Wed, 09 Jun 2021 10:18:14 GMT

如果为网站设置了 cookie,客户端会将其包含在对服务器的每个请求中,并在请求标头中添加类似这样的内容

Cookie: key=value

是否以及为哪些文件添加 Set-Cookie 标头取决于您的服务器和 Web 应用程序的配置。

这能回答你的问题吗?

您可能还会发现涵盖 cookie 的 Wikipedia 文章很有用: https://en.m.wikipedia.org/wiki/HTTP_cookie

【讨论】:

您是否确认网页上从服务器下载的每个文件(例如 img、css、jss)也会下载具有相同目录路径的所有 cookie? 这取决于您如何设置 cookie。如果您使用网络服务器设置 cookie,例如Apache,并将其配置为为每个访问的文件设置它,然后是的,每个服务器响应都会包含 cookie 信息。 如果您在应用程序中设置它,例如对于 phpjavascript、Python...,那么它只包含在应用程序处理的所有请求中,而不包含在直接文件请求中。直接文件请求将是 css、js 和图像的默认情况,但您也可以配置您的网络服务器以通过您的应用程序代码路由这些请求。

以上是关于是否为网页上下载的每个文件加载 cookie?的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 未检测到网页 cookie

Phonegap混合iOS应用程序中加载的远程网页可以将数据保存到iOS文件系统吗?

无法访问 iframe 中加载的自己域上的 httponly 标记 cookie

对于一个首次加载的页面。判断其Cookies是不是为空

事件跟踪:如何防止双重加载analytics.js

Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie