2011-08-05 14 views
8

URLハッシュにJSONを保存するヘルパーオブジェクトを作成しました。プロジェクトhere on GitHubを参照してください:URLハッシュのJSON - 悪いまたは良いアイデアですか?

これは、クッキーなしでページ設定を永続化するのに便利です。かなり良い作品と私​​はそれが好きです。

このアプローチの考え方と反対の考え方は何ですか?私はセキュリティが読んでいるかもしれない。より新しいブラウザでjson2.jsまたはネイティブJSONオブジェクトを使用しているときは本当ですか?

+0

URLにJSONを置いているのは、標準のクエリ文字列パラメータを使用するのとはまったく違いますか? – nnnnnn

+0

私はJSONが好きです - クエリー文字列よりも読みやすくする必要があります:) –

+0

MartinはURLハッシュ/フラグメントについて質問しています - '#'の後ろの部分。 –

答えて

3

あなたはそこURLの長さには制限があり、それは、異なるブラウザ間で変更を認識すべきである:http://www.boutell.com/newfaq/misc/urllength.html

+0

これは問題ではありませんが、他のスキームではありません。共有してくれてありがとう。 –

7

rison は、よりコンパクトで効率的な方法のように思えます。特に、JSONで使用される多くの文字はURIに対して安全ではないためです。

また、サーバーとクライアントの間を行き来するものに機密情報(つまりそのほとんど)を含めることはめったにありません。そのため、ほとんどの 'セッション'スキームはセッションIDだけをCookieに格納し、すべての情報を格納するわけではありません。その場合、URLにIDを追加することは、Cookieを使用するよりも難しくありません。実際、これは、クッキーがいくつかのブラウザの高度な機能であった昔、PHPでセッションを行うデフォルトの方法でした。

+0

かなり涼しい - それは私にはニュースで、私はそれが好きです。 URIセーフな文字の問題を解決するために、二重引用符を削除します({}、[]などの他の文字はURIで安全です)。残念ながら、二重引用符を削除すると、埋め込むことができる文字列のタイプが制限されます。 –

+0

スペース+引用符の問題はコンバージョンを複雑にしますが、risonは+1します。 – Christophe

+0

私はここにrisonしか見つかりませんでした。https://github.com/Nanonid/rison –

1

URLのどの部分に保存していますか? #fragmentまたは?query?それはクエリ ... んではないなら

。これらとして

  • 、サーバログに残りを
  • 、プロキシによって捕捉され、リファラ、あなたのページからリンクがあり、仲間のサイトへとして送信されます。
+1

ハッシュ '#fragment'にあります。 –

0

状態は単一のブラウザ内で管理することで、他のユーザーまたはブラウザで共有されていない場合は、のlocalStorageで状態を維持することが、より良い賭けかもしれません。イッツhttp://amplifyjs.com/api/store/

:amplify.storeは、あなたが遭遇するだろう最ものブラウザ(IE 5+、Firefoxの2 +、Safari 4以降、クローム、オペラX 10.5+、iPhone 2+、アンドロイド2+)をサポートするようなフレームワークCookieよりはるかに使いやすく、はるかに強力で、@ Javierが言及する潜在的な懸念はありません。

ブラウザ(および/またはユーザー)間で状態を管理する必要がある場合は、URLを使用する方がよいでしょう。その場合でも私はrisonを見ます。

関連する問題