簡體   English   中英

是否可以阻止在每個HTTP請求中發送cookie?

[英]Is it possible to prevent cookies to be sent in every HTTP request?

我最近發現(這里: 每個Web請求是否發送瀏覽器cookie? )每次HTTP請求都包含每次向同一域發出請求時與域相關的cookie。

鑒於此,例如,當請求不通過瀏覽器而是從Node.js發送時會發生什么? 是否可能在請求中未發送任何信息? 是否也可以阻止它在瀏覽器請求中發送?

瀏覽器

無法阻止瀏覽器發送cookie

這就是為什么通常建議 (雅虎開發人員最佳實踐,請參閱使用組件的無Cookie域)部分來提供來自不同cookie的不同域的靜態內容,如css,images。

當瀏覽器發出靜態圖像請求並將cookie與請求一起發送時, 服務器對這些cookie沒有任何用處 因此,他們只會毫無理由地創建網絡流量 您應該確保使用無cookie請求請求靜態組件。 創建一個子域並在那里托管所有靜態組件。


編程

相反, 您可以 從任何編程語言 中選擇是否要發送cookie。

Cookie管理由程序員完成,因為編寫庫是為了發出單個請求。

因此,如果您發出第一個返回cookie的請求,則需要顯式讀取它們,將它們保存在本地某處,並最終在需要時將它們放入同一服務器的第二個請求中。

因此,如果您沒有在請求中明確添加cookie,那么從NodeJS中,http調用不會保留它們。

您可以使用Fetchcredentials設置選項omit

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

您可以使用代理服務器剝離cookie。 例如,我們的產品WinGate將允許您修改請求(和響應),您可以使用它來清除請求中的Cookie標頭。

但是,這將阻止大量網站正常運行,因為cookie用於傳輸會話ID,以便服務器可以識別您的瀏覽器所做的每個連接/請求來自同一個“會話”。 HTTP本身沒有任何會話概念。

免責聲明:我為制作WinGate的Qbik工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM