Cookieと同じようにクライアントにkey:value形式のデータを保存する仕組みです。
元々はHTML5の仕様の一部として定義されていましたが、「HTML 5 differences from HTML 4」で切り離されています。
Web Storageではセッション単位で保存する「sessionStorage」と永続的に保存する「localStorage」があります。
Cookie,sessionStorage,localStorageの違い
Cookie
sessionStorage
localStorage
データの有効期限
指定期限まで
ウィンドウやタブを閉じるまで
永続的
参照範囲
domain,path単位
ウインドウ,origin単位
origin単位
データ量の上限
4KB
5MB
サーバーへのデータ送信
毎回送信
必要時にスクリプトで送信
※originは「プロトコル+ドメイン+ポート番号」で識別されます。
Web Storageはデータ量の上限が5MBと大きく、大量のデータを保存できます。
Cookieのように毎回サーバーへ送信することはなく、必要時のみスクリプトで取得するので、大量のデータを保存しても通信速度に影響をあたえることはありません。
Google Analytics内のコンテンツ→サイトの速度→速度の提案で、サイトの表示速度に悪影響を及ぼしているやり方をしている場合は、問題点の個数が表示され、個数をクリックすると、PageSpeed Insightsが表示され、問題点の具体的な内容を見ることができます。
ChromeとFirefoxの拡張機能もあり、表示してるページを解析して問題点を確認することもできます。
小さい画像をいくつも使用している場合は、スプライト画像として一つのファイルにして、CSSでその一部を表示するようにする事で、リクエスト回数を減らす事ができます。
img要素でaltがあるものはそのまま一つの画像にした方がHTMLの意味として正しいので、背景画像やアイコンなどテキストに置き換えないものをまとめることになります。
例:Google Analytics、Facebook、Twitter、Yahoo! JAPAN
E:nth-match(n of selector)はn個目のselectorであるE要素です。
CSS3で:nth-child(n)(n個目の要素)はありましたが、これに追加でselectorも指定できるようになりました。
selector:nth-child(n)として似た指定ができますが、こちらはn個目でありかつselectorである要素となるので、意味が違います。
E:nth-last-match(n of selector)
E:nth-last-match(n of selector)は最後から数えてn個目のselectorであるE要素です。
CSS3で:nth-last-child(n)(最後から数えてn個目の要素)はありましたが、これに追加でselectorも指定できるようになりました。
selector:nth-last-child(n)として似た指定ができますが、こちらは最後から数えてn個目でありかつselectorである要素となるので、意味が違います。