gpt4 book ai didi

.net - 有没有办法控制将 cookie 发送到哪些 URL?

转载 作者:可可西里 更新时间:2023-11-01 16:56:50 25 4
gpt4 key购买 nike

我的 session cookie 有点长(大约 700 字节),因为它包含各种加密的用户信息等等。我可以做一些事情来减小尺寸,我也在研究那个角度,但那是另一个话题。

我的问题是我不喜欢在每次 HTTP 请求时将此 cookie 发送到服务器的方式;包括对 JPG 图像、CSS 文件和静态 Javascript 文件的请求。由于这些请求不需要 cookie,我觉得它可能会减慢页面加载时间,因为这是 700 字节 x 页面加载的资源数。显然,这些文件会被缓存,但我仍然希望我的页面能够尽可能快速顺利地加载。

我能想到的一种解决方案是将我所有的静态内容放在另一个子域中,例如 cdn.myserver.com/images/cdn.myserver.com/scripts/,并将 cookie 路径设置为仅包含 www.myserver.com。我相信这会奏效,但它会使开发和暂存环境复杂化。我可能最终不得不根据运行代码的环境动态生成 URL。

我的问题:

除了上述解决方案之外,对于某些 HTTP 请求(例如图像、脚本和样式资源),是否有任何方法可以防止通过网络发送 cookie?

我在 .NET 堆栈上运行,使用 IIS7.5 作为 Web 服务器。

最佳答案

从服务器的角度来看,您无能为力;当您的服务器 (IIS) 或您的框架(ASP.NET 或其他)收到请求时,cookie 已经发送。

你提到的绝对有效,引用 RFC 2109 ("HTTP State Management Mechanism") (强调我的):

Hosts names can be specified either as an IP address or a FQHN string. Sometimes we compare one host name with another. Host A's name domain-matches host B's if

  • both host names are IP addresses and their host name strings match exactly; or
  • both host names are FQDN strings and their host name strings match exactly; or
  • A is a FQDN string and has the form NB, where N is a non-empty name string, B has the form .B', and B' is a FQDN string. (So, x.y.com domain-matches .y.com but not y.com.)

Note that domain-match is not a commutative operation: a.b.c.com domain-matches .c.com, but not the reverse.

因此,创建一个单独的子域,同时专门将您的 cookie 键入一个不同的子域是可行的。

请注意它是 commonly accepted practice to do this in order to increase page speedStack Overflow has been doing this since late 2009 .

为了降低暂存和开发环境的复杂性,我建议遵循这条线索;将内容放在单独的域中意味着您不必为任何这些环境做任何不同的事情。

关于.net - 有没有办法控制将 cookie 发送到哪些 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13129947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com