我的会话 cookie 有点长(大约 700 字节),因为它包含各种加密的用户信息等等。我可以做一些事情来缩小那个尺寸,我也在研究这个角度,但这是另一个话题。
我的问题是我不喜欢这个 cookie 在每个 HTTP 请求上被发送到服务器的方式。包括对 JPG 图像、CSS 文件和静态 Javascript 文件的请求。由于这些请求不需要 cookie,我觉得它可能会减慢页面加载时间,因为这是 700 字节 x 页面加载的资源数量。显然,这些文件会被缓存,但我仍然希望我的页面能够尽可能快速流畅地加载。
我能想到的一个解决方案是将我所有的静态内容放在另一个子域上,例如cdn.myserver.com/images/
and cdn.myserver.com/scripts/
,并将 cookie-path 设置为仅 include www.myserver.com
。我相信这会奏效,但它会使开发和登台环境复杂化。我可能最终不得不根据代码运行的环境动态生成 URL。
我的问题:
除了上述解决方案之外,还有什么方法可以防止通过网络发送某些 HTTP 请求(例如图像、脚本和样式资源)的 cookie?
我在 .NET 堆栈上运行,使用 IIS7.5 作为 Web 服务器。