
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ランキング
-
教えて下さい
-
二分探索の平均探索回数
-
メモ帳(テキストデータ)をExc...
-
EXCEL2007の質問です。
-
RPGで0が非表示になる。0は0と...
-
COBOLの定義について
-
ドラゴンクエストのぼうけんの...
-
モジュラス103の算出方法について
-
Accessで該当データにフラグを...
-
EXCELVBAでSQLserverからデータ...
-
【エクセル】測定時間がバラバ...
-
この行は既に別のテーブルに属...
-
配列でデータが入っている要素...
-
カンマからスラッシュに
-
【VBA】データを入力後に,同一...
-
特定のデータの抽出方法を教え...
-
C# ソケット通信でデータ受信時...
-
C#で内部データの持つ方法
-
2,3度連続して入る同データ...
-
Excel vbaで、一行ずつコピーし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
多量のSUMIF式を軽くしたい
-
配列でデータが入っている要素...
-
メモ帳(テキストデータ)をExc...
-
ユーザーフォームのテキストボ...
-
特定のデータの抽出方法を教え...
-
二分探索の平均探索回数
-
EXCELVBAでSQLserverからデータ...
-
Accessで該当データにフラグを...
-
VBA 空白セルを削除ではない方...
-
この行は既に別のテーブルに属...
-
Excel VBAでのオートフィルター...
-
[C言語] コメント文字列を無視...
-
エクセルで2つの時系列のデー...
-
アクセス2000で画像データ...
-
CString型の文字列連結について
-
カンマからスラッシュに
-
VBにおいてフォーム間の変数の...
-
<VB>String→Object
おすすめ情報