Closed10

Content-Dispositionヘッダー

makototmakotot

https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Content-Disposition

通常の HTTP レスポンスにおける Content-Disposition レスポンスヘッダーは、コンテンツがブラウザーでインラインで表示されることを求められているか、つまり、ウェブページとして表示するか、ウェブページの一部として表示するか、ダウンロードしてローカルに保存する添付ファイルとするかを示します。

makototmakotot

本文適用のレスポンスヘッダーとして

  • inline: ページの一部 or ページとして表示可能であることを示す
  • attachment: ダウンロードすべきであることを示す
    • filename: ほとんどのブラウザは、この値を使って「名前をつけて保存」ダイアログを表示する?

マルチパート本文のヘッダーとして

  • form-data
makototmakotot

ディレクティブ

  • name: formのHTMLフィールド名?を含む文字列?
  • filename: 送信元のファイル名を含む文字列
  • filename*: RFC 5987で定義されているエンコーディングを使用するという点がfilenameとの差異。filename*filenameだとfilename*が優先。
makototmakotot

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

Warning: The string following filename should always be put into quotes; but, for compatibility reasons, many browsers try to parse unquoted names that contain spaces.

filenameは常にクォーテーションで囲うべきだけども、互換性を保つため、空白を含むクォーテーションで囲われていなくても解釈しようと多くのブラウザがするそう

makototmakotot

https://datatracker.ietf.org/doc/html/rfc6266

Direct the UA to show "save as" dialog, with a filename containing
the Unicode character U+20AC (EURO SIGN):

 Content-Disposition: attachment;
                      filename*= UTF-8''%e2%82%ac%20rates

Here, the encoding defined in [RFC5987] is also used to encode the
non-ISO-8859-1 character.

文字化けを避けるため、エンコード指定を↑のようにUTF-8を指定して、''を区切り文字としてファイル名の値との間に挟む?

このスクラップは2023/04/17にクローズされました