質問: Webページ上でのファイルのダウンロードについて質問です。 Webを制作しているのですが、ユーザに任意のファイルをダウンロードさせたいと考えています。その際、ユーザがダウンロードを完了したことをサーバ側で検知する方法を探しています。 ・ユーザがダウンロードを完了したか否か ・ユーザがダウンロードしたファイルサイズが適正かどうか できれば両方知りたいのですが、前者まででもよいです。 よろしくお願い致します。
回答: http というプロトコルの仕様上,技術的に,両方とも不可能です. サーバがデータを送り出したと思っても,通信のトラブルできちんとダウンロードできてないこともあるからです. ダウンロードを開始したことは検出可能です. 上記の制約から,きちんとファイルがダウンロードできたかどうかを確認するために,ファイルとは別に,ファイルから得られるハッシュ(MD5,SHA1,CRCなど)の情報も載せておき,ユーザがダウンロード後にハッシュを計算し,ダウンロードが問題なかったかどうかを確認する場合もあります.