1. ホーム
  2. python

[解決済み] ContentTypeとMimeTypeの違いは何ですか?

2022-11-02 17:23:26

質問

私の知る限り、それらは絶対的に等しいです。しかし、いくつかの django ドキュメントをブラウズしていると、次のようなコードが見つかりました。 このコード片を見つけました。

HttpResponse.__init__(content='', mimetype=None, status=200, content_type='text/html')

となっており、この2つがうまくいっていることに驚きました。公式ドキュメントは、現実的な方法で問題を解決することができました。

content_type は mimetype のエイリアスです。 歴史的に、このパラメータは と呼ばれていましたが、これは HTTP Content-Type ヘッダに含まれる値であるため HTTP Content-Type ヘッダに含まれる値であるため、このパラメータは 文字セットエンコーディングを含むことができます。 これは、単なる MIME タイプの指定にとどまりません。mimetypeが指定された場合 が指定されている場合 (None ではない場合)、その値が使用されます。 が使われる。そうでなければ,content_typeが使われる。 どちらも指定されない場合は DEFAULT_CONTENT_TYPE の設定が使用されます。

しかし、私はこれが十分に解明されているとは思えません。なぜ (ほとんど同じ) ものに対して 2 つの異なる名前を使用するのでしょうか? Content-Type"はブラウザーのリクエストで使用される名前であり、外部ではほとんど使用されていないのでしょうか?

それぞれの主な違いは何ですか? mimetype とは対照的に content-type ? 私は文法ナチなのでしょうか?

どのように解決するのですか?

<ブロッククオート

なぜ私たちは(ほとんど同じ)ものに2つの異なる名前を使うのでしょうか? (を使うのでしょうか?それは Content-Type"は、単にブラウザのリクエストで使用される名前です。 ブラウザのリクエストで使用される名前であり、外部ではほとんど使用されていないのですか? は、ブラウザーのリクエストで使用される名前であり、それ以外ではほとんど使用されないのでしょうか?

の主な違いは何ですか? また、どのような場合に と呼ぶのが正しいのか? と呼ぶべきでしょうか?私は小馬鹿にされ 文法ナチなのでしょうか?

理由は後方互換性だけではありませんし、いつもは素晴らしい Django のドキュメントが、それについて少し手探りなのが怖いところです。 MIME (少なくとも Wikipedia の項目は読む価値があります) は、インターネットメール、特に SMTP を拡張することに起源を持ちます。そこから、MIME と MIME に触発された拡張設計は、他の多くのプロトコル (ここでは HTTP など) にその方法を見出し、既存のプロトコルで新しい種類のメタデータやデータを送信する必要がある場合に、今でも使用されています。多くの目的で使用される MIME について説明した何十もの RFC が存在します。

具体的には Content-Type: はいくつかの MIME ヘッダのうちの 1 つです。 "Mimetype" は確かに時代遅れに聞こえますが、MIME 自体への参照は時代遅れではありません。その部分を後方互換性と呼んでもよいでしょう。

[ところで、これは純粋に用語の問題であり、文法とはまったく関係ありません。すべての使用法の質問を「文法」の下にファイリングすることは、私の嫌いなところです。ということです。]