從文檔和this link,我已經知道事實是foo.example.com
可以通過在Set-Cookie
標頭中發送Domain = example.com
的響應來設置Cookie的example.com
。但爲什麼這是允許的?爲什麼foo.example.com會爲example.com設置cookie?
例如,事實是,一臺服務器(比如,foo.example.com
)不能設置cookies其兄弟姐妹(比如,bar.example.com
)或域名比它低(也稱「其子」說,ide.foo.example.com
)但它可以爲域名設置更高的cookie(也稱爲「其父母」,在這種情況下爲example.com
。
讓我通過將其置於真實世界中來更清楚地表明問題的說法。像Google App Engine上的應用程序foo.appspot.com
顯然不能爲bar.appspot.com
設置Cookie,因爲它們是兩個不同的應用程序,它們不應該影響彼此的行爲。但爲什麼允許foo.appspot.com
將Cookie設置爲appspot.com
發送Domain = appspot.com
在其響應頭?通過這樣做,foo.appspot.com
應用實際上可以影響其他應用在Google App Engine上的行爲,因爲瀏覽器在訪問bar.appspot.com
時(其域名是appspot.com
的孩子)將發送此cookie。
我從Udacity網絡開發課程瞭解了關於cookies的所有內容。但我真的很困惑這個問題。任何人都可以幫忙解釋一下嗎?提前致謝。 :-)