Webで、画面遷移してもデータを保持させるには、
私の知っている範囲では、
(1)隠しフォームを使う
(2)Cookieを使う
という方法があると思います。
これらの方法を使った場合、
保持できるデータ量の上限や、
何画面くらいまではデータ保持可能なのか?といった
制約はどうなっているのでしょうか。
具体的に自分で使ったことが無いので、分からなくて困っています。
「何Kバイトまで」「何画面まで」といったことがお分かりの方、
教えてください。
それと、他に、こんな方法があるよ!
この方法だと、ここまでデータが持てるよ!というのを
ご存知の方も、教えてくださると嬉しいです。
(NTサーバでASPを使っても、データの保持はできるんでしょうか?)
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
大量のデータを保存したい場合、
IIS/ASP の考え方をうまく利用すればいいかと思います。
保存したいデータをサーバー側で管理するようにします。
それぞれのデータには、識別番号(ID)を設定します。
ID をクライアントとの間でやり取りするようにします。
ID をクライアントとやり取りする方法としては、次のようなものがあります。
1. Cookie : IIS/ASP で利用している方法
利用者のブラウザが Cookie を使えることが必要。
i-mode 等では使えない
2. クエリー引数
例: http://server/test.asp?id=00001
クエリー引数をすべてのサーバー送信時に
つけることが必要。
ユーザーがブックマークする場合も考えておく
3. input type=hidden を使う
フォーム形式が必要
クエリー引数形式との併用も検討
なお、実装にあたっては、次の点も注意する必要があります。
1. データを保存する期間
データを破棄するタイミングをいつにするのか。
IIS/ASP の場合、その ID で最後にアクセス
されてから、一定時間たつと自動的に
削除します。
2. ID は延々と増えるのか ? それとも再利用するのか
管理用の識別番号を作る場合、番号が
再利用するかどうか、増えつづけるのかという
問題があります。
IIS/ASP の場合、IIS をリスタートすると
再利用する可能性があります。
3. ID のセキュリティの確保
ID を他の人が利用すると、他人のデータに
アクセスできる可能性があります。
ID を大きな値にして、類推しにくくし、
かつ、特定のIDは、特定のIPアドレスから
のみ利用できるようにするなどの対応が
必要です。
なお、画面間で値を保存する方法として、
隠しフォーム、Cookie、ASP 以外にも、
ウィンドウ、フレームを使う方法もあります。
ウィンドウ、フレームを、遷移する画面とは
別に用意しておき、保存しておきたい
データをブラウザ上のスクリプトから
ウィンドウ、フレームに書き込むという
方法です。
あと、GET、POST できるデータ量は、ブラウザ
および、ブウラザのバージョンや、
間に入っているProxyやファイアウォールに
よって、変わります。
以上、参考にしていただければと思います。
kawabataさん、ありがとうございます。まだ初期検討段階なので、ASPが使える環境を提案できるか分からないのですが、やはりWebアプリケーションサーバーを利用する方向で考えたほうが、自由度が高くなりそうですね。詳細に解説頂き、大変勉強になりました。今後共よろしくお願いします。
No.1
- 回答日時:
隠しフォームの場合は、POSTを使えば理論上はいくらでもOKのはずですが、実際にはそんな何十キロバイトも渡したりするのはよくないようです。
またクッキーの場合は、上限はよく分かりませんが、せいぜいが1KB未満に抑えるのが慣例になっているようです。(4~5KB入れてるの見たことありますけど)
また、どれくらいの画面間でデータを渡しつづけられるかというのは、クッキーの場合は同一サーバー内のすべて、隠しフォームは当然次の画面までです。
で、ASPで作るのであればクッキーとか使うよりもSessionとApplicationを使ったほうがいいと思います。
こいつらは考え方はクッキーと同じですが、サーバー側にデータを持ちます。
早速のご回答ありがとうございます!
数キロであれば、どちらでも問題ないということですね。
ASPを使ったほうが、運用上も良さそうなので、
もう少し検討してみたいと思います。
今後共よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Android(アンドロイド) Androidスマホのデータ移行が終わらない 1 2023/08/04 17:25
- docomo(ドコモ) ドコモのガラケー(L704ie)の電話帳データを楽天のスマホExperia10IVへの移行手段は? 3 2023/02/13 19:00
- その他(Microsoft Office) エクセルでの作成データをモニター画面内に収めたい。 1 2022/04/23 11:52
- その他(コンピューター・テクノロジー) キッズスマホの事なのですが今から約6、7年前に使っていたのですが落として画面が映らなくなり買い換える 2 2023/04/11 23:41
- その他(パソコン・スマホ・電化製品) USBメモリーカードの使い方がよくわかりません。パソコンのデータをスマホへ移したいんですがとりあえず 7 2022/07/03 23:41
- ドライブ・ストレージ 古い外付けHDDから新品外付けHDDへのデータ移行方法 (Mac) 2 2022/12/11 02:01
- iPhone(アイフォーン) 至急。エラーiphone初期化→icloudからデータを復旧したい(LINEも制限がかかり入れない) 2 2022/09/18 19:20
- その他(クラウドサービス・オンラインストレージ) OneDrive Businessが使い物になりません。OneDriveというクラウドストレージに大 2 2022/03/28 09:31
- 生物学 脳の記録部位の集計方法について 1 2022/06/11 21:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
C# ソケット通信でデータ受信時...
-
メモ帳(テキストデータ)をExc...
-
エクセルで2つの時系列のデー...
-
VBAでシートからコンボボックス...
-
ExcelVBAでデータ不一致のもの...
-
ノイズの入った波形をきれいな...
-
VBA 空白セルを削除ではない方...
-
カンマからスラッシュに
-
ユーザーフォームのテキストボ...
-
Matlab:plotで特定の値だけをプ...
-
チェックサムの実装方法について
-
VBAを使ってOutlookメール本文...
-
C# でDataTableの更新を高速化...
-
VBA 毎日取得するデータを順番...
-
Accessで該当データにフラグを...
-
多量のSUMIF式を軽くしたい
-
VBAで「"」[']をエスケープする...
-
シリアル通信プログラム(受信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
この行は既に別のテーブルに属...
-
VBAを使ってOutlookメール本文...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
ブレーカー落ちで壊れたりしな...
-
[C言語] コメント文字列を無視...
-
オープンチヤットでデータ削除...
-
モジュラス103の算出方法について
-
javaでDBからデータを取ってき...
-
カンマからスラッシュに
-
VBA 毎日取得するデータを順番...
-
Android携帯をUSBメモリ代わりに
おすすめ情報