人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Webページ上でのファイルのダウンロードについて質問です。

Webを制作しているのですが、ユーザに任意のファイルをダウンロードさせたいと考えています。その際、ユーザがダウンロードを完了したことをサーバ側で検知する方法を探しています。

・ユーザがダウンロードを完了したか否か
・ユーザがダウンロードしたファイルサイズが適正かどうか

できれば両方知りたいのですが、前者まででもよいです。
よろしくお願い致します。

●質問者: okenji
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Web サイズ サーバ ダウンロード ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ultraist
●27ポイント

『ダウンロード』というクライアント側の動作判定はできないと思いますが、

サーバー側からユーザーのブラウザへ『ファイルを送信完了したか』およびその『送信サイズ』なら

といった方法で可能ではないかと思います。

◎質問者からの返答

なるほど、興味深いです。Ajaxを使ったことないので実験してみます。ありがとうございました。


2 ● goodvn
●27ポイント

http というプロトコルの仕様上,技術的に,両方とも不可能です.

サーバがデータを送り出したと思っても,通信のトラブルできちんとダウンロードできてないこともあるからです.

ダウンロードを開始したことは検出可能です.

上記の制約から,きちんとファイルがダウンロードできたかどうかを確認するために,ファイルとは別に,ファイルから得られるハッシュ(MD5,SHA1,CRCなど)の情報も載せておき,ユーザがダウンロード後にハッシュを計算し,ダウンロードが問題なかったかどうかを確認する場合もあります.

◎質問者からの返答

そうですよね。不可能なことが確認できました。ありがとうございました。


3 ● God_24
●26ポイント

パケット解析を用いてユーザからACKが帰ってくるのを確認すれば、少なくとも、

・ユーザがダウンロードを完了したか否か

は分かると思います。(そこまでしなくてもサーバにログが残ると思いますが・・・)

・ユーザがダウンロードしたファイルサイズが適正かどうか

これは難儀ですね。「適正」とはどういう意味で「適正」なのでしょうか?

具体的な目標を数値にして検討してみるといいかもしれません。

◎質問者からの返答

ありがとうございました。Webアプリケーション層で該当ACKの検出をするのはどうすればよいのかわかりません(T^T)が、どちらにしても、Webアプリレベルで実現できないということが確認できたと思うので、それでよしとします。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ