ちょうどピッタリなカテゴリがなかったので、ここで質問させてください。
ブラウザからサーバに対してファイルをPOSTコマンドでアップロードする場面での話です。
一般的な手法としてformタグとinputタグ(type=file)を組み合わせてmultipart/formなenctypeでアップロードさせる方法を行っているのですが、サーバ側の都合でアップロードを途中でやめたくなった場合はどのような方法がありますか?
やめたくなるタイミングはPOSTコマンド&ヘッダの送信中ではなく、ファイル本体をアップロードしているときです。例えば、サーバはブラウザからファイルを受け取り始めたけど、ファイルのサイズが大きすぎるとか何かの理由でサーバ側から止めたくなったら、どうすればよいか?ということです。
これは特定のサーバプラットフォームの話ではなくて、プロトコル上でどのような方法があるか、という回答をお待ちしています。
試しに、止めたくなったときにサーバ側からHTTPコネクションを切ってみました。確かにサーバ→ブラウザ方向へのコネクションは切れた(ハーフクローズ)ようですが、ブラウザ→サーバー方向のコネクションは切れずにブラウザは最後までファイルを送り続けました(chromeで確認)。
何か方法があればよろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
HTTPサーバから4xx系のエラーを返せば良いような気がしますが。
413か、416でどうでしょう?
参考URL:http://www.asahi-net.or.jp/~ax2s-kmtn/ref/status …
早々のお返事、ありがとうございます。
413 Request Entity Too Largeエラーを返して、直後にコネクションを切っているのですが、やはりブラウザは送信を続けています。
WireSharkで確認したところ、413エラー+簡単なhtmlエラーメッセージを返した後、ブラウザはACKを返してきてシーケンス番号も進んでいるので受け取っているはずです。また、その直後にサーバからFINを出すと、ブラウザ側から+1されたシーケンス番号とACKを受け取っているので、ハーフクローズも完結していると思います。
それでも、ブラウザからはデータが出続けています。
ほかに何かお気づきのことがありましたら、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのファイルにリンクを貼る方法 4 2023/06/30 11:09
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Windows 10 だいたいの能力はどのくらいでしょうか 3 2023/03/05 17:18
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- C言語・C++・C# condaコマンドに対応したプロキシ設定が思うようにならないようです。 2 2022/04/11 17:15
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- Google Drive グーグルドライブ、勝手に共有されるのを防ぐ方法や気をつけること 2 2023/07/29 21:47
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
全角ファイル名をアップロード...
-
「クラウドにアップロード」」...
-
ファイルをGET送信でアップロー...
-
move_uploaded_fileで他のサー...
-
アップロード 仕方教えて
-
ファイルのアップロード処理を...
-
VBでクラウドストレージにア...
-
ファイルアップロードについて...
-
FTPClientで転送結果(OKかFAIL)
-
Webサーバーにファイルをアップ...
-
ファイルサイズがpost_max_size...
-
tarファイル作成について
-
アップロード操作の簡略化をしたい
-
youtubeに音声のみのmp4ファイ...
-
PHPを使ったWEBサイトでアップ...
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
リンク先を隠す方法はないでし...
-
copy() で属性保存
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
ファイルアップロードの上限を...
-
youtubeに音声のみのmp4ファイ...
-
FTPClientで転送結果(OKかFAIL)
-
one drive のアップロード失敗...
-
unlinkでどうしてもファイルが...
-
ファイルをGET送信でアップロー...
-
ftpでアップロードが出来ない
-
ファイルサイズがpost_max_size...
-
PHPでxmlをAPIに送信する方法(P...
-
aws cloud9というものを使って...
-
ファイルアップロードについて...
-
DUMPした巨大SQLファイルをイン...
-
全角ファイル名をアップロード...
-
PHPMailerで大きなファイルが送...
-
SmartyでHTMLソースの変更が反...
-
Struts2 ファイルアップロード
-
ファイルアップロードしたもの...
-
画像ファイルの名前をそのままU...
-
サーバーにアップロードしたい
おすすめ情報