1. 程式人生 > >前端工作面試HTML相關問題

前端工作面試HTML相關問題

  • Q: 請描述一下 cookies,sessionStorage 和 localStorage 的區別?

    A: sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web請求之間儲存資料。有了本地資料,就可以避免資料在瀏覽器和伺服器間不必要地來回傳遞。

    sessionStorage、localStorage、cookie都是在瀏覽器端儲存的資料,其中sessionStorage 的概念很特別,引入了一個“瀏覽器視窗”的概念。sessionStorage 是在同源的同窗口(或tab)中,始終存在的資料。也就是說只要這個瀏覽器視窗沒有關閉,即使重新整理頁面或進入同源另一頁面,資料仍然存在。關閉視窗後,sessionStorage 即被銷燬。同時“獨立”開啟的不同視窗,即使是同一頁面,sessionStorage 物件也是不同的

    cookies會發送到伺服器端。其餘兩個不會。

    Microsoft 指出 Internet Explorer 8 增加cookie 限制為每個域名50個,但IE7 似乎也允許每個域名50個cookie。Firefox 每個域名cookie 限制為50個。Opera每個域名cookie 限制為30個。Firefox 和Safari 允許cookie 多達4097個位元組,包括名(name)、值(value)和等號。Opera 許cookie 多達4096個位元組,包括:名(name)、值(value)和等號。Internet Explorer 允許cookie 多達4095個位元組,包括:名(name)、值(value)和等號。

    • Cookie
      • 每個域名儲存量比較小(各瀏覽器不同,大致4K)
      • 所有域名的儲存量有限制(各瀏覽器不同,大致4K)
      • 有個數限制(各瀏覽器不同)
      • 會隨請求傳送到伺服器
    • LocalStorage
      • 永久儲存
      • 單個域名儲存量比較大(推薦5MB,各瀏覽器不同)
      • 總體數量無限制
    • SessionStorage
      • 只在 Session 內有效
      • 儲存量更大(推薦沒有限制,但是實際上各瀏覽器也不同)