cookie、local Strageとsession Strageの詳細
6114 ワード
フロントエンドローカル記憶
現在のフロントエンドのローカルストレージは、以下の3つの方法があります.クッキー local Strage session Strage ここでもう一度はっきりとこの中の知識点を記録します.
クッキー
注意:
一部のCookieは制限があります.時間制限を超えると、システムによって削除されます.Cookieがユーザーの情報を漏らすのではないかと心配する人が多い.しかし、これは余分であり、Cookieはドメインをまたぐことによって訪問することができません.またいくつかのオブジェクトはCookieを離れて実現することができません.例えばSession.ここでもう一つのポイントがあります.クライアントのCookieの数は最大300個で、それぞれ4 kbを超えてはいけません.ウェブサイトごとに設定されているクッキーの数は20個を超えてはいけません.
読み取り は、一般的に、サーバ動作 です. 書き込み
クライアントの書き込み:
なお、
local Strage永久保存の単一ドメイン名の記憶量は比較的に大きい(推奨5 MBは、各ブラウザによって異なります).全体の数は制限がありません. ブラウザが閉じられます.クリアされません.ページ間で共有が可能です.同じドメイン名で共有を実現し、【トップドメインと二級/三級ドメインは共有しない】 クリアしない限り.ローカルで永久に保存できます. 簡単な読み取り方法:
読み込み中に異常に戻ることがあります.SecurityErr
要求はポリシーステートメントに違反しているか、または遠端がa valid scheme/host/port tupleではないか(例えば、origginがfileを使用している場合:またはdata:形式が発生する可能性がある).例えば、ユーザは、指定されたorignにデータを残すことを許可するブラウザの設定を無効にすることができる.
使い方 を削除します. を返します.
実は
session Strage
ページセッションは、ブラウザが開いている間は維持されていますが、ページを再読み込みまたは再開しても元のページセッションを維持します.新しいタブまたはウィンドウでページを開くと新しいセッションが初期化されます.
注意すべきことは
使用方法は完全に
Web Strage APIのインターフェースとして、Strageは特定のドメイン名にアクセスするセッションストアを提供しています.
ドメイン名のセッションストアを操作したい場合(
注意:
現在のフロントエンドのローカルストレージは、以下の3つの方法があります.
クッキー
cookie
は、document
オブジェクトのcookie
属性をJavaScript
に提供するブラウザが提供する仕組みである.JavaScript
によって制御されてもよく、JavaScript
自体の性質ではない.Cookie
は「甜餅」という意味で、W3C
組織によって提案され、最初にNetscape
コミュニティによって発展した仕組みです.現在はCookie
が標準となり、すべての主流ブラウザはIE、Netscape、Firefox、Opera
などCookie
をサポートしています.HTTP
は無状態のプロトコルであるため、サーバ単体はネットワーク接続からクライアントのアイデンティティを知ることができない.どうすればいいですか?クライアントに通行証を発行しましょう.一人ずつ、誰が訪問しても自分の通行証を携帯しなければなりません.このようにサーバーは通行証からお客様の身分を確認できます.これはCookie
の仕事の原理です.Cookie
は、実際には短いテキスト情報である.クライアント要求サーバは、サーバがユーザ状態を記録する必要がある場合、レスポンスを使用してクライアントブラウザにCookie
を発行する.クライアントブラウザはCookie
を保存します.ブラウザがウェブサイトを再要求すると、ブラウザは要求されたURLをCookie
と一緒にサーバに提出する.サーバは、Cookie
をチェックして、ユーザの状態を認識する.サーバは、必要に応じてCookie
の内容を変更することもできる.注意:
cookie
はドメインをまたぐことができないが、同じトップドメインの二次ドメイン名については、'domain'
を設定する方法でドメインをまたぐことができる.一部のCookieは制限があります.時間制限を超えると、システムによって削除されます.Cookieがユーザーの情報を漏らすのではないかと心配する人が多い.しかし、これは余分であり、Cookieはドメインをまたぐことによって訪問することができません.またいくつかのオブジェクトはCookieを離れて実現することができません.例えばSession.ここでもう一つのポイントがあります.クライアントのCookieの数は最大300個で、それぞれ4 kbを超えてはいけません.ウェブサイトごとに設定されているクッキーの数は20個を超えてはいけません.
読み取り
cookie
cookie
の読み取りについて、最も基本的なものはdocument.cookie
である.以下の点に注意してください.cookie
は同じドメインに対して、同じドメインのcookie
こそ相互接続である.domain
だけが必要な安全を保証することができる.しかし、時には、フロントエンドの添削が必要かもしれません.cookie
、この時、私たちの主役が現れました.Cookie
は、Cookie
HTTP応答ヘッダファイルに含まれる追加フラグである.HttpOnly
を生成する際にHttpOnly
フラグを使用すると、保護されたクッキーにクライアントスクリプトがアクセスするリスクを低減する(ブラウザがサポートする場合).Set-Cookie
オプションがcookie
に設定されている場合、このHttpOnly
はサーバー側でしか変更できません.Jsは操作できません.Cookie
にとって透明なHttpOnly = true
が取得した文字列は、「Cookie
と書くと、すべての種類の値が強制的に文字列に変換される」という文字列であり、document.cookie
は、現在の領域におけるすべての読み取り可能なdocument.cookie
が、「cookie
」という形で接続され、中間にdocument.cookie
のセミコロンを使用して分離される.【cookie
】key=value
には標準文字列があるので、;
は_app=qunar; _user=cwj; _test=sbsb
が存在しない.cookie
key/value
は、サービス端末によって設定されてもよく、フロントエンドによって書き込みされてもよい.書き込みの内容はほぼ同じですが、書き込みの仕方は少し違っています.最大の違いは、サービス端末が /
これを設定して、クライアントの修正を制限することができることである.クライアントの書き込み:
document.cookie = newCookie;
cookie
はキーペアの形式の文字列である.注意したいのは、この方法では1つのクッキーのみを設定または更新することができます.以下のオプションのクッキー属性値はキーのペアの後に、クッキーの設定/更新を具体化するために使用されます.セミコロンを使ってセミコロンを作成します.;path=path ( '/', '/mydir') , 。
;domain=domain ( 'example.com', '.example.com' ( ),'subdomain.example.com') , 。
;max-age=max-age-in-seconds ( 60*60*24*365), expires ;
;expires=date-in-GMTString-format ,cookie 【 】 , Date.toUTCString()
;secure (cookie https )
cookieの値文字列は、コンマ、セミコロン、またはスペースを含まないことを保証するために、encodeURIComponent(cookie値でこれらの値を使用禁止)を使用することができます.なお、
cookie
を削除したい場合は、有効期限を設定することにより、現在の時刻より前の「expires」またはmax-ageが0になるだけです.local Strage
'HttpOnly'
は、ローカルストレージnewCookie
の新しい技術であり、cookie
に比べて、その記憶容量は大きく、一般的にはlocalStorage
は数Kしかない.先端の開発に便利をもたらしましたが、実際に使ってみると、そんなに簡単ではないことが分かります.いくつかの特徴があります.myStorage = localStorage;
Strageを返します.現在のリモート端末のローカル記憶空間にアクセスするためのオブジェクトは、「記憶されているキーパッドペアとレングス属性が含まれています.」読み込み中に異常に戻ることがあります.SecurityErr
要求はポリシーステートメントに違反しているか、または遠端がa valid scheme/host/port tupleではないか(例えば、origginがfileを使用している場合:またはdata:形式が発生する可能性がある).例えば、ユーザは、指定されたorignにデータを残すことを許可するブラウザの設定を無効にすることができる.
使い方
HTML5
は現在5つのAPIがあります.cookie
/推奨キーキーに従って値vakueを読み取る方法cookie
/推奨の一キー値ペアを書き込む方法localStorage
/推奨のキーキーキーに従って、あるキー値ペアlocalStorage.getItem(key)
/クリアlocalStorage.setItem(key, value)
/インデックス値に基づいて対応するkey 実は
localStorage.removeItem(key)
は、JavaScriptのオブジェクトのように使用することができます.localStorage.a、localStorage.['a'] localStorage.getItem(a) ,
localStorage.a = 'aaa'、localStorage.['a']='aaa' localStorage.setItem('a','aaa') ,
注意:local Strageは現在は格納文字列のみをサポートしており、他のフォーマットはすべて文字列に変換されて記憶されています.他のものを保存するにはJSON.parse/JSON.stingifyの配合を考慮して使用することができます.session Strage
localStorage.clear()
属性は、アクセスを許可します.localStorage.key(index)
オブジェクトです.これとlocalStorage
似ていますが、違いはここです.sessionStorage
に格納されているデータは有効期限が過ぎていません.session Storage
内のデータは、ページセッション終了時に消去されます.ページセッションは、ブラウザが開いている間は維持されていますが、ページを再読み込みまたは再開しても元のページセッションを維持します.新しいタブまたはウィンドウでページを開くと新しいセッションが初期化されます.
localStorage
の運転方式は違っています.注意すべきことは
localStorage
ですかsessionStorage
に保存されているデータは、いずれもこのページのプロトコルに限定される.使用方法は完全に
session cookies
と同じです.いずれもWeb Strage APIのインターフェースで実現されます.Web Strage APIのインターフェースとして、Strageは特定のドメイン名にアクセスするセッションストアを提供しています.
localStorage
)またはローカル記憶( sessionStorage
)の機能は、例えば、記憶されているデータ項目を追加、修正、削除することができる.ドメイン名のセッションストアを操作したい場合(
localStorage
)は、Window.session Strageを使用することができます.ドメイン名のローカルストレージを操作したい場合(session storage
)は、Window.local Strageを使用することができます.注意:
local storage
とは、存在時間のみを区別して、現在のページを更新して復元すると、session storage
は元のままになりますが、新規ページは新しいlocal storage
を初期化します.