Content-Typeとは? わかりやすく解説

ContentType クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

MIME プロトコルの Content-Type ヘッダー表します

名前空間: System.Net.Mime
アセンブリ: System (system.dll 内)
構文構文

public class ContentType
public ref class ContentType
public class ContentType
public class ContentType
解説解説
使用例使用例

添付データ含んだ電子メール メッセージ作成し添付データの ContentDisposition プロパティ表示するコード例次に示します

public static void CreateMessageWithAttachment(string
 server)
{
    // Specify the file to be attached and sent.
    // This example assumes that a file named Data.xls exists in the
    // current working directory.
    string file = "data.xls";
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
       "jane@contoso.com",
       "ben@contoso.com",
       "Quarterly data report.",
       "See the attached spreadsheet.");

    // Create  the file attachment for this e-mail message.
    Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
    // Add time stamp information for the file.
    ContentDisposition disposition = data.ContentDisposition;
    disposition.CreationDate = System.IO.File.GetCreationTime(file);
    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
    disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
    // Add the file attachment to this e-mail message.
    message.Attachments.Add(data);
    //Send the message.
    SmtpClient client = new SmtpClient(server);
    // Add credentials if the SMTP server requires them.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    client.Send(message);
    // Display the values in the ContentDisposition for the attachment.
    ContentDisposition cd = data.ContentDisposition;
    Console.WriteLine("Content disposition");
    Console.WriteLine(cd.ToString());
    Console.WriteLine("File {0}", cd.FileName);
    Console.WriteLine("Size {0}", cd.Size);
    Console.WriteLine("Creation {0}", cd.CreationDate);
    Console.WriteLine("Modification {0}", cd.ModificationDate);
    Console.WriteLine("Read {0}", cd.ReadDate);
    Console.WriteLine("Inline {0}", cd.Inline);
    Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
    foreach (DictionaryEntry d in cd.Parameters)
    {
        Console.WriteLine("{0} = {1}", d.Key, d.Value);
    }
    data.Dispose();
}
継承階層継承階層
System.Object
  System.Net.Mime.ContentType
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ContentType メンバ
System.Net.Mime 名前空間
SmtpClient クラス
MailMessage クラス

ContentType コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

ContentType クラス新し既定インスタンス初期化します。

名前空間: System.Net.Mime
アセンブリ: System (system.dll 内)
構文構文

public ContentType ()
public:
ContentType ()
public ContentType ()
解説解説

このコンストラクタは、MediaType プロパティ"application/octet-stream"初期化します。

使用例使用例

このコンストラクタ呼び出す方法次のコード例示します

// The following example sends a summary of a log file as the message
// and the log as an e-mail attachment.
public static void SendNamedErrorLog(string
 server, string recipientList)
{
    // Create a message from logMailer@contoso.com to recipientList.
    MailMessage message = new MailMessage(
       "logMailer@contoso.com", recipientList);

    message.Subject = "Error Log report";
    string fileName = "log.txt";
    // Get the file stream for the error log.
    // Requires the System.IO namespace.
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    StreamReader s = new StreamReader(fs);
    int errors = 0;
    while (s.ReadLine() != null)
    {
        // Process each line from the log file here.
        errors++;
    }
    // The e-mail message summarizes the data found in the log.
    message.Body = String.Format("{0} errors in log as of
 {1}",
        errors, DateTime.Now);
    // Close the stream reader. This also closes the file.
    s.Close();
    // Re-open the file at the beginning to make the attachment.
    fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    // Make a ContentType indicating that the log data
    // that is attached is plain text and is named.
    ContentType ct = new ContentType();
    ct.MediaType = MediaTypeNames.Text.Plain;
    ct.Name = "log" + DateTime.Now.ToString() + ".txt";
    // Create the attachment.
    Attachment data = new Attachment(fs, ct);
    // Add the attachment to the message.
    message.Attachments.Add(data);
    // Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    client.Send(message);
    data.Dispose();
    // Close the log file.
    fs.Close();
    return;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ContentType クラス
ContentType メンバ
System.Net.Mime 名前空間

ContentType コンストラクタ (String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した文字列使用して、ContentType クラス新しインスタンス初期化します。

名前空間: System.Net.Mime
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    contentType As String _
)
Dim contentType As String

Dim instance As New ContentType(contentType)
public ContentType (
    string contentType
)
public:
ContentType (
    String^ contentType
)
public ContentType (
    String contentType
)
public function ContentType (
    contentType : String
)

パラメータ

contentType

MIMEメディア タイプサブタイプ、および省略可能なパラメータ格納している String (たとえば、"text/plain; charset=us-ascii")。

例外例外
例外種類条件

ArgumentNullException

contentTypenull 参照 (Visual Basic では Nothing) です。

ArgumentException

contentTypeEmpty ("") です。

FormatException

contentType が、解析できない形式です。

解説解説

contentType 文字列構文については、RFC 2045 セクション 5.1 (http://www.ietf.org) を参照してください

使用例使用例

このコンストラクタ呼び出す方法次のコード例示します

// The following example sends a summary of a log file as the message
// and the log as an e-mail attachment.
public static void SendNamedErrorLog(string
 server, string recipientList)
{
    // Create a message from logMailer@contoso.com to recipientList.
    MailMessage message = new MailMessage(
       "logMailer@contoso.com", recipientList);

    message.Subject = "Error Log report";
    string fileName = "log.txt";
    // Get the file stream for the error log.
    // Requires the System.IO namespace.
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    StreamReader s = new StreamReader(fs);
    int errors = 0;
    while (s.ReadLine() != null)
    {
        // Process each line from the log file here.
        errors++;
    }
    // The e-mail message summarizes the data found in the log.
    message.Body = String.Format("{0} errors in log as of
 {1}",
        errors, DateTime.Now);
    // Close the stream reader. This also closes the file.
    s.Close();
    // Re-open the file at the beginning to make the attachment.
    fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    // Make a ContentType indicating that the log data
    // that is attached is plain text and is named.
    ContentType ct = new ContentType();
    ct.MediaType = MediaTypeNames.Text.Plain;
    ct.Name = "log" + DateTime.Now.ToString() + ".txt";
    // Create the attachment.
    Attachment data = new Attachment(fs, ct);
    // Add the attachment to the message.
    message.Attachments.Add(data);
    // Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    client.Send(message);
    data.Dispose();
    // Close the log file.
    fs.Close();
    return;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ContentType クラス
ContentType メンバ
System.Net.Mime 名前空間

ContentType コンストラクタ


ContentType プロパティ


ContentType メソッド


ContentType メンバ

MIME プロトコルの Content-Type ヘッダー表します

ContentType データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ContentType クラス
System.Net.Mime 名前空間
SmtpClient クラス
MailMessage クラス

メディアタイプ

(Content-Type から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/15 19:10 UTC 版)

メディアタイプ: media type(s))は、ファイルやインターネット上で転送されるデータ(コンテンツ)の形式を識別するためのコード体系である[1]MIMEタイプコンテンツタイプ[2]コンテントタイプcontent type)とも表記される。その具体的な識別子は、text/plainのように、スラッシュで区切る表記が特徴的である。

公式には、IANAがメディアタイプを管理している。現在の形式のメディアタイプは、RFC 1341MIMEの仕様の一部として定義されたことに始まる。RFC 1341では、電子メールの本文や添付ファイルの種類の記述に用いている。その後、HTTP[3]などその他のインターネットプロトコルや、HTML[4]のようなファイル形式でも同様の目的に使用されるようになっていった。

RFC 2046RFC 6838など、メディアタイプに関するRFCが複数存在するほか、WHATWGMIME Sniffing Standardの「4 MIME types」にもメディアタイプ(MIMEタイプ)に関する規定が存在する。

RFC 2046の技術的内容および構成を変更しない日本語訳が、日本産業規格JIS X 5810-2:2008「多目的インターネットメール拡張 (MIME) ―第2部: メディア型」として発行されている[5]

日本語では「メディア種別」とも訳される[6]が、定訳はなく、「メディアタイプ」という外来語カナ表記がそのまま使われることも多い。本記事では「メディアタイプ」で統一するものとする。

名称について

RFC 1341では、コンテンツタイプの値 (Content-Type Values) またはMIMEタイプ (MIME type) と表記されている。その後、RFC 1590でメディアタイプの名称が定められた[7]。一部のRFCではインターネットメディアタイプ (Internet Media Type) と表記する事例もある。

HTMLおよび関連する仕様では、このメディアタイプを指す用語としてMIMEタイプ (MIME type) を用いている。この理由は、CSSメディアクエリにおける「メディアタイプ」(media type) との混同を避けるためである[8]

命名規則

メディアタイプは、トップレベルメディアタイプ (: top-level media type、最上位メディア型[5])と(メディア)サブタイプ(: subtype / sub-type、下位型[5])、そして非必須のパラメーターの組み合わせで構成される。

たとえば、とあるHTMLファイルについてtext/html; charset=UTF-8というメディアタイプが付与されたとする。この例では、textがトップレベルメディアタイプ、htmlがサブタイプ、charset=UTF-8が文字コードを表すパラメーターである。

サブタイプは「ツリー」または「ファセット」と呼ばれるさらなる分類がなされる。

構文:

  • トップレベルメディアタイプ名 / サブタイプ名 [ ; パラメーター ]
  • トップレベルメディアタイプ名 / [ ツリー. ] サブタイプ名 [ +接尾辞 ] [ ; パラメーター ]

パラメーターは複数付与する場合もある。例: text/plain; charset=iso-2022-jp; format=flowed; delsp=yes

トップレベルメディアタイプ

トップレベルメディアタイプは、全般的な大分類を表す部分である。

トップレベルメディアタイプごとに未知のサブタイプの扱いが規定されており、受信側は自分の扱えないサブタイプであっても最低限の取り扱いが可能となる。text の場合は text/plainapplication/octet-streammultipart の場合は multipart/mixed である。applicationimageaudiovideoなどは、未知のサブタイプについてapplication/octet-streamとして扱うよう規定している。

個別最上位メディア型

個別の最上位メディア型[5]は次のものが存在する。

text
テキスト情報。特にplainメディア下位型はどんな種類の指令(例えば「文字の大きさを変更する」とか「動画を埋め込む」とか)も含まないプレーンテキストを表す。
image
画像情報。その内容は画像処理機(典型的には表示装置印刷機など)を介して提示される。
audio
音声情報。その内容は音声出力機器(スピーカー)を介して提示される。
video
映像情報。その内容は映像を処理する機構を介して提示される。
application
典型的には、専用のアプリケーションを用いて処理される情報。
model
3次元コンピュータグラフィックスなどのモデルデータ。RFC 2011で新設。
font
フォントRFC 8081で新設。

複合最上位メディア型

複合の最上位メディア型[5]は次の2つである。

multipart
複数の独立したデータ型から成る情報。
message
カプセル化されたメッセージ。

例示用最上位メディア型

例示用の最上位メディア型としてexampleRFC 4735で規定されている。

非公式な最上位メディア型

非公式な最上位メディア型としてchemicalが存在する[9][10][11]

主な例

インターネットなどで広く利用されているものや、標準化されているものを中心に例示する。

  • application/octet-stream(任意のバイナリデータ
  • application/javascript
  • application/json
  • application/x-www-form-urlencoded
  • application/xml
  • application/zip
  • application/pdfPDF文書)
  • application/xhtml+xmlXHTMLテキスト)
  • audio/mpeg
  • audio/vorbis
  • text/css
  • text/htmlHTMLテキスト)
  • text/plainプレーンテキスト
  • image/pngPNG画像)
  • image/jpegJPEG画像)
  • image/gifGIF画像)
  • video/mpegMPEG動画)
  • message/rfc822Eml形式
  • multipart/alternativeHTMLメールにおいて、HTMLによるメッセージと同等のプレーンテキストによるメッセージを用意する場合のように、同じ情報を異なる形式で表したマルチパート)
  • application/x-www-form-urlencodedHTTPのPOSTメソッドによるフォームデータの送信)
  • multipart/form-data(同上、主にファイルアップロードを伴う場合)

登録ツリー

全てのメディアタイプは、IANAの登録手続きを経て登録されるべきとされる。個々のサブタイプ名はツリーに分類されて登録される。この場合、サブタイプ名に"ツリー."接頭辞が付与されたものとなる[注釈 1]。現在、次のツリーが存在する: 標準、企業、個人、私的利用。これらのツリーは1996年11月のRFC 2048で最初に定義され、現在はRFC 6838に置き換えられている。ツリーによって登録の手続きに差異がある。

登録ツリーそのものの追加が必要な場合、IETFの標準化作業によって決定される (RFC 6838 3.5. Additional Registration Trees[12])。

標準ツリー

標準ツリーに属するメディアタイプは、原則として接頭辞を持たない[注釈 2]

標準ツリーへの追加には、IESGで承認を受けたIETF仕様またはIANAが認める標準化を行う団体からの登録のいずれかが必要である。

構文: type / メディアタイプ名 [+接尾辞]

例: application/xhtml+xml、image/png

ベンダーツリー

ベンダーツリーは、公開されている製品に関連するメディアタイプで用いられる。vnd.ファセットが用いられる (RFC 6838 3.2. Vendor Tree[12])。

この文脈では、ベンダー(販売元)と開発元は同義である。すなわち、非営利な団体・コンソーシアムであっても、自身が開発したデータ形式についてベンダーツリーへの登録申請が可能である。

また、ベンダーツリーへの登録は、必ずしもベンダーや開発元によって申請される必要は無く、メディアタイプの登録を望む第三者が申請してもよい。ただしその場合でも、登録対象のタイプは、それに関するソフトウェアのベンダー・組織に属することになり、ベンダー・組織はいつでもそのタイプに対する所有権を表明できる。

構文:

  • type / vnd. メディアタイプ名 [+接尾辞] - 製作元が著名な場合
  • type / vnd. 製作元の名称 . メディアタイプ名 [+接尾辞] - 製作元の名称はIANAに承認される必要がある
  • type / vnd. 製作元の名称 . 製品名 . メディアタイプ名 [+接尾辞] - 製作元の名称と製品名はIANAに承認される必要がある

パーソナルツリー

パーソナルツリーは、実験的なタイプや商業的に頒布される製品に関係しないタイプを含む。prs.ファセットが用いられる。

構文: type / prs. メディアタイプ名 [+接尾辞]

未登録なものを表すx.ツリー

"x."ツリーは、私的利用であったり、外部に公開しない環境で当事者同士の積極的な合意の下での利用であったりする場合に用いられる。このツリーでの登録は受け付けられていない。

未登録で使用できるメディアタイプの命名規則は以下のように変遷している。

  • 当初、RFC 1590RFC 1521では、"x-"で始まるサブタイプを登録不要・私的利用としていた。
  • RFC 2048では、極めて稀な場合として、必要に応じて、私的利用・実験的な用途で"x-"と"."で始まる名前を使用してよいが、なるべく避けるべきとしていた。
  • RFC 6838では、私的利用に"x."ツリーが用意されているが、使用は極めて避けるべきとされている。また、"x-"で始まるサブタイプは登録不要・私的利用ではないこととなった。

登録不要のメディアタイプ名を使用するのではなく、できるだけ登録されるべきとされている。このため、ベンダーツリー・パーソナルツリーへの登録手続きは簡略化されている[注釈 3]。もちろん、標準化団体の標準化手順を通して、標準ツリーへの登録を申請してもよい。

広く運用されているメディアタイプ("x-"接頭辞を持つファセットのないサブタイプ)で未登録のものについては、可能な限り適切なファセット付きのサブタイプ名で登録し直すべきとされている。それが困難な場合、メディアタイプのレビューアとIESGの承認の後、ファセットのない名称のままの登録も可能である (RFC 6838 Appendix A. Grandfathered Media Types[12])。

  • ファセット付きで登録し直された例: image/x-iconimage/vnd.microsoft.icon
  • ファセット無しで登録し直された例: application/x-gzipapplication/gzip
  • x-付きのまま登録された例: application/x-www-form-urlencoded[13]

構文: type / x. メディアタイプ名 [+接尾辞]

接尾辞

接尾辞は、登録対象のメディアタイプに対して、元となるデータ形式をメディアタイプの命名に加えるものである。著名な構造を持つメディアタイプについては、IANAに登録されている適切な"+suffix"を登録時に付与すべきとされている。未登録の接尾辞は使用すべきではない。接尾辞の登録手続きもRFC 6838で定められている (RFC 6838 6. Structured Syntax Suffix Registration Procedures[12])。

RFC 6838の当初時点の接尾辞は、次のとおりである。現在登録されている接尾辞の一覧はStructured Syntax Suffix Registryを参照。

  • +xml
  • +json
  • +ber
  • +der
  • +fastinfoset
  • +wbxml
  • +zip

ただし、+xmlの接尾辞は、サフィックスがIANAで管理されるようになる前、2001年1月のRFC 3023から定義されている。

脚注

注釈

  1. ^ RFC 6838 3. Registration Trees and Subtype NamesよりThe following subsections define registration "trees" that are distinguished by the use of faceted names, e.g., subtype names that begin with a "tree." prefix.[12]
  2. ^ RFC 6838 3.1. Standards TreeよりMedia types in the standards tree MUST NOT have faceted names, unless they are grandfathered in using the process described in Appendix A.[12]
  3. ^ RFC 6838 3.4. Unregistered x. TreeよりHowever, with the simplified registration procedures described above for vendor and personal trees, it should rarely, if ever, be necessary to use unregistered types. Therefore, use of types in the "x." tree is strongly discouraged.[12]

出典

  1. ^ MIMEタイプ(メディアタイプ)とは - IT用語辞典 e-Words
  2. ^ Content-Type(コンテンツタイプ)とは - IT用語辞典 e-Words
  3. ^ "Media Types". Hypertext Transfer Protocol -- HTTP/1.0 (英語). May 1996. sec. 3.6. doi:10.17487/RFC1945. RFC 1945
  4. ^ HTML 4.01 Specification” (1999年12月24日). 2017年2月2日閲覧。
  5. ^ a b c d e JIS X 5810-2:2008「多目的インターネットメール拡張 (MIME) ―第2部: メディア型」日本産業標準調査会経済産業省
  6. ^ MIME タイプ(IANA メディア種別) - HTTP | MDN
  7. ^ Media Type Registration Procedure (英語). March 1994. p. 1. doi:10.17487/RFC1590. RFC 1590. These types, previously called "MIME Types", are now called "Media Types".
  8. ^ MIME Sniffing Standard” (英語). WHATWG. 2017年3月26日閲覧。 “A MIME type is sometimes called an Internet media type in protocol literature, but consistently using the term MIME type avoids confusion with the use of "media type" as described in the Media Queries CSS specification.”
  9. ^ Daniel Leidert, Egon Willighagen (2007年). “The chemical-mime-data project”. 2016年10月8日時点のオリジナルよりアーカイブ。2016年4月28日閲覧。
  10. ^ Chemical MIME Home page”. 2019年5月11日閲覧。
  11. ^ S. Rzepa, Henry; Murray-Rust, Peter; J. Whitaker, Benjamin (1998-08-14). “The Application of Chemical Multipurpose Internet Mail Extensions (Chemical MIME) Internet Standards to Electronic Mail and World Wide Web Information Exchange”. Journal of Chemical Information and Modeling (American Chemical Society). doi:10.1021/ci9803233. https://pubs.acs.org/doi/10.1021/ci9803233. 
  12. ^ a b c d e f g Media Type Specifications and Registration Procedures (英語). January 2013. doi:10.17487/RFC6838. RFC 6838
  13. ^ Berjon, Robin (2014年5月14日). “application/x-www-form-urlencoded” (英語). IANA. 2017年3月26日閲覧。

関連項目

外部リンク

データベース

これらには、IANAに登録されていないメディアタイプも収録されている。


Content-Type

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/03/24 07:00 UTC 版)

Multipurpose Internet Mail Extensions」の記事における「Content-Type」の解説

メディアタイプ」も参照 このメッセージ中のデータの種類指定する一般的な書式次の通り。 Content-Type: type/subtype; parameter type大分類となるデータの種類指定するsubtypeにはより詳細形式指定するparameter追加情報指定するもので、複数指定できる電子メールメッセージにおいて使われる例を以下に示す。 text/plain; charset=iso-2022-jp; format=flowed; delsp=yes(プレーンテキストISO-2022-JPRFC 3676 で規定されるflowedおよびdelspの文字列折り返し処理を適用) text/html; charset=UTF-8HTMLテキストUTF-8) multipart/alternative(HTMLメールにおいて、HTMLによるメッセージ同等プレーンテキストによるメッセージ用意する場合のように、同じ情報異な形式表したマルチパート) type毎に未知subtype扱い規定されており、受信側自分扱えないsubtypeであっても最低限取り扱いが可能となる。text場合は text/plain、application/octet-stream、multipart場合は multipart/mixed である。applicationimageaudiovideoなどは、未知subtypeについてapplication/octet-streamとして扱うよう規定している。

※この「Content-Type」の解説は、「Multipurpose Internet Mail Extensions」の解説の一部です。
「Content-Type」を含む「Multipurpose Internet Mail Extensions」の記事については、「Multipurpose Internet Mail Extensions」の概要を参照ください。

ウィキペディア小見出し辞書の「Content-Type」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Content-Type」の関連用語

Content-Typeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Content-Typeのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのメディアタイプ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのMultipurpose Internet Mail Extensions (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS