2009-12-22 71 views

回答

1

我覺得沒有區別?

1

Cookie由兩個HTTP協議頭控制 - Cookie和Set-Cookie。 Cookie頭部用於HTTP請求,Set-Cookie頭部用於HTTP響應。 Response.Cookie代表Set-Cookie頭,而在JavaScript中,您主要控制Cookie集合的內部集合,其中(集合)用於以下HTTP請求的Cookie標頭填充。

4

底層「cookie」本身沒有區別,只有設置/讀取它的方法。事實上,這兩者都是在請求/響應頭文件中發送到瀏覽器的客戶端cookie。

區別在於cookie可以在客戶端以javascript(例如使用document.cookie)或在ASP.NET內的服務器上操作(例如使用Request.CookiesResponse.Cookies)。實際上,如果你真的想,你可以在同一個cookie上混合使用ASP.NET和Javascript的cookie操作。

[順便說一句 - 我假設你指的是ASP.NET。雖然你只在你的問題文本中說ASP,但問題被標記爲ASP.NET]

2

有一個非常微小的差別。這是時間 - asp使用服務器時間和javascript使用來自訪問者的PC。所以如果服務器時間不正確,就會有一個性能影響。例如:服務器時間爲10:00(實時延遲5分鐘),訪客PC的時間爲10:05。在這種情況下,cookie應該可以少活5分鐘。 (我沒有發明的參數,只是例子,來源「php power programing」)

除此之外,cookie的設置有一個顯着的區別 - 只有服務器端編程語言可以設置httponly cookie wikipediaowasp - 客戶端腳本無法訪問cookie(JScrip/JavaScript等)。這使得它不易受XSS wikipedia的影響。

理論上更好地使用「asp cookie」。

0

我發現了兩者之間的微小差異。 在一個網站中,我通過asp(經典asp)操作cookie,例如爲了讓用戶知道哪些是他查看的項目,或者保存「向我發送有關此信息的更多信息」列表,以便用戶在瀏覽時保存到cookies他想要的信息。

順便說一句,當我調用函數來發送電子郵件,我想刪除cookie,但如果我設置使用JavaScript的餅乾,然後我做document.cookies的驅使我有這樣的事情:

sendme =; ASPESSIONID ........ = ........; viewing = N01; lastvied = NA002; sendme =不適用%202322 ...

這很奇怪,也是因爲,在稍後對該cookie進行任何引用時,我會始終採用第一個,似乎JavaScript將該cookie看作一個cookie ,而ASP可以看到JavaScript的沒有問題...任何人都有同樣的事情?