10秒ごとにページ全体を更新かけるチャットのようなCGIで、
F5ボタンを連打して更新された際に、
プログラム側で「F5更新されている」ことを検知して、
「F5連打しないで下さい」的なページを表示したいと思っています。
クッキーを使ってどうにか制御しようとしたのですが、
うまく検知する方法が思いつきません。
ページが更新されたときに、データベース上に持っている
更新回数の情報を+1加算しているのですが、
それを使ってどうにかF5検知しようとしたのですが、
F5を押された場合と10秒ごとの更新である場合の区別を
どうつけるのか思い浮かびません。
更新された時間を覚えておき、次に更新された時間が
10秒以内であればF5を押した、という判断以外には
なにかないでしょうか?
(データベースに新しい情報を書き込んだりするのは
サーバーに負担がかかるので、できればやりたくないです)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
サーバかクライアントに数値のデータを持つしかありません。
クライアントの場合は時間を送ってこないとエラーにして、時間が10秒以内ならばエラーになると言うもの。
最初の数字をどのように発行するかがポイントでしょう。
HTMLを10秒毎に書き出しするほうがいいかもしれません。
厳密にやるのならばサーバに何かしらのデータを保存しておかないと無理でしょう。
サーバに負荷がかかるのが嫌ならばそのスクリプトの基本的な動作を見直すべきでしょう。
No.1
- 回答日時:
質問者様はサーバとクライアントをきちんと認識すべきです。
「F5を押す」と言うのはクライアントサイドの挙動です。クライアントはそれを受けてサーバ側にhttpクエリを送信します。
サーバ側はその「来たクエリを解釈している」に過ぎません。
ゆえ、結論を言えば「CGI側から何を押されたかなんて分かるはずが無い」
F5だろうがリンク押下だろうがクエリ直叩きだろうが、明示的にその記述が無い限りサーバ側でそれを検出することは出来ません。
>(snip)以外には
>なにかないでしょうか?
少なくとも当方は知りません。
クライアント側をjavascriptでギチギチに固めるくらいでしょう。
エンドユーザがどう思うかは知りませんが。
>(データベースに新しい情報を書き込んだりするのは
> サーバーに負担がかかるので、できればやりたくないです)
認識がおかしいです。
10秒に一回requestを送る方が何百倍もサーバに負荷をかけていることでしょう。
// 正確にはそこに至るまでのルートですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASPでDLLの使用方法
-
.NETのaspxについて。
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
ApacheでのCGIについての質問
-
VBScriptで、ファイルから任意...
-
CGIでソースがそのままでてしま...
-
ラジオボタンのグループ化
-
CGIファイルのパーミッションの...
-
CGIの設置について。(BIGLOBE)
-
VBAでサーバーにアクセスするに...
-
Windowsで作った *.cgi ファイ...
-
CGIとPHPの違い
-
一言メルフォを設置したが500エ...
-
特定のCGIだけ、作動するかわり...
-
エラーの意味がわかりません
-
statの戻り値が返ってこない
-
イベントカレンダー evcal.cgi
-
特定CGI「だけ」が、ローカル環...
-
.htaccessを2つ以上設置した場合
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを使用して、外部サーバのフ...
-
ASPからJavaScriptへの受け渡し...
-
「EJBとServletの違い」「J2SE...
-
HTML文書の中で環境変数を使う...
-
JSPについて
-
Call GetSubDirでの 任意のセ...
-
perl PHP C++ それぞれのメ...
-
C言語でCGI
-
ASPでDLLの使用方法
-
TwitterAPIを使用せずに自動ツ...
-
LAN内に接続されているPCをリ...
-
別サーバへのアプリケーション...
-
WEB関連で質問です。(APサーバ...
-
MVCモデルとIIS(IHS)、WAS
-
ソースを見せたくないです。
-
自宅サーバーでASPを使いたい
-
プロバイダNifty,接続Tepco光を
-
リンク参照元について。
-
あるopencvのコード、なぜカラ...
-
アンケートフォームのデータを...
おすすめ情報