Web技術基礎
瀏覽器的localStorage與Cookie的差異,下列何者正確?
- AlocalStorage的資料不會自動附加到請求,而是由同源網頁的JavaScript讀寫使用
- BlocalStorage的資料也與Cookie一樣,每次向同一網站送出請求時都會放進標頭,自動送往伺服器
- ClocalStorage也能加上HttpOnly屬性,因此即使放入工作階段ID,網頁的指令碼也無法讀取
查看答案與解析
正確答案:A. localStorage的資料不會自動附加到請求,而是由同源網頁的JavaScript讀寫使用
localStorage是依來源保存字串鍵與值的瀏覽器儲存區,沒有設定有效期限的機制,一般會一直保留到刪除為止。它不會自動送往伺服器,想傳送時要以JavaScript放進請求中。Cookie每個一般最多約4 KB,容量小,而且每次請求都會自動傳送;相對地,localStorage可以放較大的資料。不過網頁的JavaScript隨時都能讀取,因此若有XSS,內容就會被竊取。放入用於驗證的值時,必須考慮這個風險。
- A. 正確。localStorage的資料不會自動傳送,由同源的指令碼讀寫。
- B. 會自動附加在請求中傳送的是Cookie。localStorage的資料不會自動傳送。
- C. HttpOnly是Cookie的屬性。localStorage的內容隨時都能被同源的指令碼讀取。