是否可以阻止在每个HTTP请求中发送cookie?

Def*_*rdo 12 javascript browser cookies http node.js

我最近发现(这里:每个Web请求是否发送浏览器cookie?)每次HTTP请求都包含每次向同一域发出请求时与域相关的cookie.

鉴于此,例如,当请求不通过浏览器而是从Node.js发送时会发生什么?是否可能在请求中未发送任何信息?是否也可以阻止它在浏览器请求中发送?

Dav*_*INO 12

浏览器

无法阻止浏览器发送cookie.

这就是为什么通常建议(雅虎开发人员最佳实践,请参阅使用组件的无Cookie域)部分来提供来自不同cookie的不同域的静态内容,如css,images.

当浏览器发出静态图像请求并将cookie与请求一起发送时,服务器对这些cookie没有任何用处.所以他们只是没有充分理由创建网络流量.您应该确保使用无cookie请求请求静态组件.创建一个子域并在那里托管所有静态组件.


编程

相反,您可以从任何编程语言中选择是否要发送cookie.

Cookie管理由程序员完成,因为编写库是为了发出单个请求.

因此,如果您发出第一个返回cookie的请求,则需要显式读取它们,将它们保存在本地某处,并最终在需要时将它们放入同一服务器的第二个请求中.

因此,如果您没有在请求中明确添加cookie,那么从NodeJS中,http调用不会保留它们.


小智 8

您可以使用Fetchcredentials选项设置为omit

https://developer.mozilla.org/zh-CN/docs/Web/API/Fetch_API