クライアント記憶とアプリケーション記憶
8846 ワード
クライアントメモリ
Webアプリケーションは、ブラウザが提供するAPIを使用して、ユーザのコンピュータにデータを格納することを可能にする.このクライアントストアは、Webブラウザの記憶能力を付与したものに相当する.
クライアントストアは「同一ソースポリシー」に従っていますので、異なるサイトのページでは互いに相手の記憶しているデータを読み取ることができません.同じサイトの異なるページの間でデータを共有できます.彼は通信システムを提供してくれます.
クライアントストアは、Webストア、cookie、IE User Data、オフラインWebアプリケーション、Webデータベース、ファイルシステムAPIを含む.
その他はしばらく紹介しませんが、今日はWebストアとクッキーについて紹介します.
Webストレージは利点が多いが、早期ブラウザには対応していない.cookieはすべての新しいブラウザを使用していますが、APIは非常に複雑で、埋蔵できる情報量が少ないです.そして、Http要求のたびに、これらのデータをサーバに持ち込み、帯域幅を占めています.
しかし、本記事に記録されたクライアントストアは、すべてのデータが暗号化されていない形式のため、コンピュータにアクセス権限のあるすべての人がアクセスできるように敏感な情報を保存するために使用されてはならない.
local Strageとsession Strage
local Strageとsession Strageはwindowの対象です.
local Strageとsession Storrageの主な違いは、格納されている有効期間と作用領域にあります.データはどれぐらいの時間を記憶できますか?また、誰がデータを持っているかということです.
Webストアは、構造化されたデータ(オブジェクトと配列)を保存することができますが、できない場合は、別の方法(JSON)を使用することもできます.
保存有効期間については、Webアプリケーションが意図的に保存したデータを削除しない限り、local Strageに格納されたデータは永久的であり、またはユーザがブラウザの設定によって削除しない限り、データは一致して存在する.session Storrageに記憶されているデータはセッション中だけで、ウィンドウやタブページなどは永遠に閉じられています.session Strageによって記憶されているデータもすべて削除されました.
ロールフィールドについては、ロールストーンのスコープは、文書ソースレベルに限定され、文書ソースはプロトコル、ホスト名、ポートの3つによって決定される.同じソースのドキュメント間で同じlocastrageデータを共有します.しかし、ブラウザによって制限があります.session Storrageのスコープも文書ソースに限定されていますので、同じソースでないドキュメント間では共有できません.また、ウィンドウに制限されています.
APIを格納する
local Strageとsession Storrageは通常通常、通常は通常JavaScriptオブジェクトとして使用され、属性を設定することによって文字列値を記憶し、属性を調べてその値を読み取る.しかし、もっと正式なAPIがあります.
イベントを保存
いつまでもlocal Strageやsession Strageに格納されているデータが変更されても、ブラウザは他のデータが見えるウィンドウオブジェクト上でイベントを起動します(ただし、データを変更するウィンドウオブジェクト上では出発しません.)
イベントを格納することに関連するイベントオブジェクトは、5つのより重要な属性があります.keyが設定されたり、削除された項目の名前またはキー名newValueが保存されています.このアイテムの新しい値oldValueが変更されたり、削除される前に、保存されている値storage Areaは、ターゲットオブジェクト上のlocastrageまたはsession Storrage属性urlのように、この変更スクリプトが格納されているURLです.
local Strageと格納イベントは、放送方式を用いた記憶を配列文字列化した文字列にします.
クッキー
クッキーとは、Webブラウザに格納されている少量のデータであり、具体的なWebページまたはサイトに関連するものである.
クッキーは、Doccumentオブジェクトのクッキー属性を直接に操作することができます.
cookieが有効かどうかを検出します.navigator.co okie Enbiled=true
cookie属性の有効期間とスコープ
名前と値以外にも、クッキーの有効期間と作用領域を制御するオプションの属性があります.
有効期限クッキーのデフォルトの有効期間はWebブラウザのセッション期間にある(ただし、これはsession Strageとは違って、クッキーの有効期間はブラウザ全体のプロセスと単一のブラウザウィンドウの有効期限と一致していない).ただし、max-age属性を設定することにより、高数ブラウザクッキーの有効期間はどれぐらい(単位は秒)かを明確にすることができます.有効期限が設定されると、ブラウザはクッキーデータをファイルに保存し、指定された有効期限が過ぎるまで削除します.
スコープのスコープのスコープは、ドキュメントソースとドキュメントパスによって決定されます.この作用領域は、クッキーのpathとdomain属性によっても構成可能である.デフォルトでは、クッキーは、そのWebページを作成することに関連しており、このWebページおよびそのWebページについては、ディレクトリまたはサブディレクトリの他のWebページの授業を行う.
クッキーのpath属性はアクセス制御機構として使用できません.同じサイトの他のページのクッキーを読みたいなら、他のページを簡単に隠し
クッキーにはsecure がありますが、ブラウザとサーバがHTTPSまたは のセキュリティプロトコルで されている にのみ えられます.
クッキーの
cookieの は、セミコロン、コンマ、ブランクを むことができないため、 にはJavaScriptコアのグローバル encodeURIComponentを いて を し、 み りの にはdecodeURIComonent() を いて する がある.
JavaScriptを ってクッキーを み むと、 ってくる は であり、 のドキュメントに するクッキーをすべて みます.
1.http ごとにcookie.cookie が さい3.ブラウザごとに できるクッキー には りがある
アプリケーション とオフラインWebアプリケーション
「アプリケーションキャッシュ」はHTML 5により されたコンテンツであり、Webアプリケーションがアプリケーション をユーザブラウザにローカルに することができる.
これは、ユーザがブラウザキャッシュを っているとは りません.
アプリケーションキャッシュリスト
い は の りです
なリスト
3つのエリアがあります.1.
2.FALLBACK:エリアの リスト には、2つのURL( えば、
3.NETWORK:このエリアのURLリソースはキャッシュされず、 にネットワークを して される."*"ワイルドカードをサポートします.
キャッシュの
オンラインの では、ブラウザはリストファイルによって を しますが、リストファイルの によって があるかどうかは されません.
たとえば
なシーン:ゲームはポイントが いプレイヤーの をサーバーにアップロードします.
Webアプリケーションのnavigator.online は、ネットワークを することができます.
サイ
Webアプリケーションは、ブラウザが提供するAPIを使用して、ユーザのコンピュータにデータを格納することを可能にする.このクライアントストアは、Webブラウザの記憶能力を付与したものに相当する.
クライアントストアは「同一ソースポリシー」に従っていますので、異なるサイトのページでは互いに相手の記憶しているデータを読み取ることができません.同じサイトの異なるページの間でデータを共有できます.彼は通信システムを提供してくれます.
クライアントストアは、Webストア、cookie、IE User Data、オフラインWebアプリケーション、Webデータベース、ファイルシステムAPIを含む.
その他はしばらく紹介しませんが、今日はWebストアとクッキーについて紹介します.
Webストレージは利点が多いが、早期ブラウザには対応していない.cookieはすべての新しいブラウザを使用していますが、APIは非常に複雑で、埋蔵できる情報量が少ないです.そして、Http要求のたびに、これらのデータをサーバに持ち込み、帯域幅を占めています.
しかし、本記事に記録されたクライアントストアは、すべてのデータが暗号化されていない形式のため、コンピュータにアクセス権限のあるすべての人がアクセスできるように敏感な情報を保存するために使用されてはならない.
local Strageとsession Strage
local Strageとsession Strageはwindowの対象です.
local Strageとsession Storrageの主な違いは、格納されている有効期間と作用領域にあります.データはどれぐらいの時間を記憶できますか?また、誰がデータを持っているかということです.
Webストアは、構造化されたデータ(オブジェクトと配列)を保存することができますが、できない場合は、別の方法(JSON)を使用することもできます.
localStorage.data = JSON.stringify(data);
var data = JSON.parse(localStorage.data);
有効期限とスコープを記憶する保存有効期間については、Webアプリケーションが意図的に保存したデータを削除しない限り、local Strageに格納されたデータは永久的であり、またはユーザがブラウザの設定によって削除しない限り、データは一致して存在する.session Storrageに記憶されているデータはセッション中だけで、ウィンドウやタブページなどは永遠に閉じられています.session Strageによって記憶されているデータもすべて削除されました.
ロールフィールドについては、ロールストーンのスコープは、文書ソースレベルに限定され、文書ソースはプロトコル、ホスト名、ポートの3つによって決定される.同じソースのドキュメント間で同じlocastrageデータを共有します.しかし、ブラウザによって制限があります.session Storrageのスコープも文書ソースに限定されていますので、同じソースでないドキュメント間では共有できません.また、ウィンドウに制限されています.
APIを格納する
local Strageとsession Storrageは通常通常、通常は通常JavaScriptオブジェクトとして使用され、属性を設定することによって文字列値を記憶し、属性を調べてその値を読み取る.しかし、もっと正式なAPIがあります.
localStorage.setItem("x", 1); // "x"
localStorage.getItem("x");
localStorage.removeItem("x");
localStorage.clear();
localStorage.key(i);
オブジェクトおよび配列タイプの値は通常可変であるため、これらのオブジェクトの後の変更が記憶の対象に影響しないように、彼らのコピーを保存する必要がある.イベントを保存
いつまでもlocal Strageやsession Strageに格納されているデータが変更されても、ブラウザは他のデータが見えるウィンドウオブジェクト上でイベントを起動します(ただし、データを変更するウィンドウオブジェクト上では出発しません.)
イベントを格納することに関連するイベントオブジェクトは、5つのより重要な属性があります.keyが設定されたり、削除された項目の名前またはキー名newValueが保存されています.このアイテムの新しい値oldValueが変更されたり、削除される前に、保存されている値storage Areaは、ターゲットオブジェクト上のlocastrageまたはsession Storrage属性urlのように、この変更スクリプトが格納されているURLです.
local Strageと格納イベントは、放送方式を用いた記憶を配列文字列化した文字列にします.
クッキー
クッキーとは、Webブラウザに格納されている少量のデータであり、具体的なWebページまたはサイトに関連するものである.
クッキーは、Doccumentオブジェクトのクッキー属性を直接に操作することができます.
cookieが有効かどうかを検出します.navigator.co okie Enbiled=true
cookie属性の有効期間とスコープ
名前と値以外にも、クッキーの有効期間と作用領域を制御するオプションの属性があります.
有効期限クッキーのデフォルトの有効期間はWebブラウザのセッション期間にある(ただし、これはsession Strageとは違って、クッキーの有効期間はブラウザ全体のプロセスと単一のブラウザウィンドウの有効期限と一致していない).ただし、max-age属性を設定することにより、高数ブラウザクッキーの有効期間はどれぐらい(単位は秒)かを明確にすることができます.有効期限が設定されると、ブラウザはクッキーデータをファイルに保存し、指定された有効期限が過ぎるまで削除します.
スコープのスコープのスコープは、ドキュメントソースとドキュメントパスによって決定されます.この作用領域は、クッキーのpathとdomain属性によっても構成可能である.デフォルトでは、クッキーは、そのWebページを作成することに関連しており、このWebページおよびそのWebページについては、ディレクトリまたはサブディレクトリの他のWebページの授業を行う.
クッキーのpath属性はアクセス制御機構として使用できません.同じサイトの他のページのクッキーを読みたいなら、他のページを簡単に隠し
として み むだけでいいです. はクロスステーションのクッキースヌープを するが、 じサイトについては に である.クッキーにはsecure がありますが、ブラウザとサーバがHTTPSまたは のセキュリティプロトコルで されている にのみ えられます.
クッキーの
cookieの は、セミコロン、コンマ、ブランクを むことができないため、 にはJavaScriptコアのグローバル encodeURIComponentを いて を し、 み りの にはdecodeURIComonent() を いて する がある.
function setCookie(name, value, expire) {
var cookie = name + '=' + encodeURIComponent(value);
if (typeof expire === "number")
cookie += "; max-age=" + (expire*60*60*24);
document.cookie = cookie;
}
クッキーの み みJavaScriptを ってクッキーを み むと、 ってくる は であり、 のドキュメントに するクッキーをすべて みます.
function getCookie() {
var cookie = {};
var all = document.cookie;
if (all === "")
return cookie;
var list = all.split("; ");
for (var i = 0; i < list.length; i++) {
var cookie = list[i];
var p = cookie.indexOf("=");
var name = cookie.substring(0, p);
var value = cookie.substring(p + 1);
value = decodeURIComponent(value);
cookie[name] = value;
}
return cookie;
}
クッキーの 1.http ごとにcookie.cookie が さい3.ブラウザごとに できるクッキー には りがある
アプリケーション とオフラインWebアプリケーション
「アプリケーションキャッシュ」はHTML 5により されたコンテンツであり、Webアプリケーションがアプリケーション をユーザブラウザにローカルに することができる.
これは、ユーザがブラウザキャッシュを っているとは りません.
アプリケーションキャッシュリスト
い は の りです
// myapp.appcache URL
"myapp.appcache">
// myapp.appcache
CACHE MANIFEST
# 。
# URL
myapp.html
myapp.js
myapp.css
images/background.png
PS:Webサーバ リストファイルの は、「text/cache-manifest」というMIMEタイプです.なリスト
3つのエリアがあります.1.
2.FALLBACK:エリアの リスト には、2つのURL( えば、
videos/offline_help.html
)が まれています. のロードが したら、2 のキャッシュリソースで されます.3.NETWORK:このエリアのURLリソースはキャッシュされず、 にネットワークを して される."*"ワイルドカードをサポートします.
キャッシュの
オンラインの では、ブラウザはリストファイルによって を しますが、リストファイルの によって があるかどうかは されません.
たとえば
CACHE MANIFEST
# MyApp version 1 ( )
MyApp.html
MyApp.js
Windowオブジェクトの にappication Cacheオブジェクトがあります.ブラウザでキャッシュを する で のイベントが します.applicationCache
onupdateready
onchecking
onnoupdate
ondownloading
onprogress
oncached
onerror
onobsolete
UNCACHED(0) manifest
IDLE(1)
CHECKING(2)
DOWNLOADING(3)
UPDATEREADY(4)
OBSOLETE(5) ,
update()
swapCache() ,
オフラインWebアプリケーションなシーン:ゲームはポイントが いプレイヤーの をサーバーにアップロードします.
Webアプリケーションのnavigator.online は、ネットワークを することができます.