Living Standard — Last Updated 17 December 2024
text/html
この登録は、コミュニティによるレビューのためであり、レビュー、承認、およびIANAへの登録のためにIESGに提出される予定である。
charset
charset
パラメーターは、バイトオーダーマーク(BOM)以外の文書内の任意の文字エンコーディング宣言を上書きし、文書の文字エンコーディングを指定するために供給されてもよい。属性が存在する場合、その値は"utf-8
"に一致するASCII大文字・小文字不区別でなければならない。[ENCODING]
小説全体はHTML文書に適用するセキュリティ上の考慮事項について書かれている。読者が詳細について参照する場合、多くはこの文書に記載されている。しかし、一部の一般的な懸念はここで特筆に値する:
HTMLはスクリプト化言語であり、多数のAPI(一部はこの文書に記載される)を持つ。スクリプトは、情報漏洩、認証情報漏洩、クロスサイトスクリプティング攻撃、クロスサイトリクエストフォージェリー、および他の多くの問題に関して潜在的なリスクをユーザーに公開できる。この仕様の設計は正しく実装されれば安全であることを意図する一方で、任意のソフトウェアと同様に、完全な実装は大規模な事業であり、ユーザーエージェントはセキュリティバグを持つ可能性がある。
スクリプトを使用しないけれども、歴史的な理由により、レガシーコンテンツとの幅広い互換性を保つために必要であるが、不幸なセキュリティ上の問題をユーザーに公開するHTML内の特定の機能が存在する。具体的に、img
要素はインターネット上のユーザーの場所からポートスキャンに影響を与えるための方法として他の機能と組み合わせて使用できる。これは、攻撃者が別の方法で判断することができないだろうローカルネットワークトポロジーを公開できる。
HTMLは、時に同一生成元ポリシーとして知られる区画化スキームに依存する。ほとんどの場合に生成元は、同じプロトコルを使用して、同じポート上で同じホストから提供されるすべてのページで構成する。
したがって、サイトの一部を形成する任意の信頼できないコンテンツがそのサイト上のすべての機密コンテンツとは異なる生成元でホストされていることを確認することは非常に重要である。信頼できないコンテンツは、同じ生成元に他のページを簡単に偽装でき、その生成元からデータを読み取り、実行するために生成元にスクリプトを引き起こし、たとえそれらが一意なトークンによってクロスサイトリクエストフォージェリー攻撃から保護されている場合でも、その生成元からフォームを送信し、任意のサードパーティのリソースを公開するために活用するまたはその生成元に付与された権利を利用することができる。
html
"および"htm
は一般的であるが、確実に排他的でなく、HTML文書の拡張子として使用される。TEXT
Fragments used with text/html
resources either refer to the indicated part of the corresponding Document
, or provide state information for in-page scripts.
multipart/x-mixed-replace
この登録は、コミュニティによるレビューのためであり、レビュー、承認、およびIANAへの登録のためにIESGに提出される予定である。
boundary
(RFC2046で定義される)[RFC2046]multipart/x-mixed-replace
リソースのサブリソースは、text/html
などの自明でないセキュリティへの影響を持つタイプを含めた、任意のデータ型を指定できる。multipart/mixed
の場合と同じである。[RFC2046]multipart/x-mixed-replace
リソースを一意に識別できない。multipart/x-mixed-replace
リソースとともに使用されるフラグメントは、そのボディ部分で使用されるタイプで定義されているようにそれぞれのボディ部分に適用する。
application/xhtml+xml
この登録は、コミュニティによるレビューのためであり、レビュー、承認、およびIANAへの登録のためにIESGに提出される予定である。
application/xml
と同じ [RFC7303]application/xml
と同じ [RFC7303]application/xml
と同じ [RFC7303]application/xml
と同じ [RFC7303]application/xml
と同じ [RFC7303]application/xhtml+xml
タイプをもつリソースにラベル付けすることは、リソースがHTML名前空間由来の文書要素を持つ可能性のあるXML文書であることを主張する。したがって、関連する仕様は、XML、Namespaces in XML、およびこの仕様である。[XML] [XMLNS]application/xml
と同じ [RFC7303]application/xml
と同じ [RFC7303]xhtml
"および"xht
"は、時にHTML名前空間由来の文書要素を持つXMLリソースの拡張子として使用される。TEXT
application/xhtml+xml
リソースで使用されるフラグメントは、任意のXML MIMEタイプと同じセマンティックスを持つ。[RFC7303]
text/ping
この登録は、コミュニティによるレビューのためであり、レビュー、承認、およびIANAへの登録のためにIESGに提出される予定である。
charset
charset
パラメーターは提供されてもよい。パラメーターの値は"utf-8
"でなければならない。このパラメーターは、目的を達成しない。これはレガシーサーバーとの互換性のためのみに許可される。
ハイパーリンク監査のコンテキストで説明される方法で独占的に使用される場合、このタイプは新しいセキュリティ上の懸念を導入しない。
text/ping
リソースは、常に4バイト0x50 0x49 0x4E 0x47(`PING
`)で構成される。ping
属性のウェブブラウザーの処理の一部として生成されるHTTP POSTリクエストとともに使用するためのみを意図する。フラグメントは、text/ping
リソースで意味を持たない。
application/microdata+json
この登録は、コミュニティによるレビューのためであり、レビュー、承認、およびIANAへの登録のためにIESGに提出される予定である。
application/json
と同じ [JSON]application/json
と同じ [JSON]application/json
と同じ [JSON]application/json
と同じ [JSON]application/microdata+json
型をもつリソースをラベリングすることは、リソースがエントリーの配列からなる"items
"と呼ばれる単一のエントリーをもつオブジェクトで構成されるJSONテキストであることを主張する。これは、リソースと呼ばれるエントリーを持つオブジェクトで構成される。オブジェクトのそれぞれは、値が文字列である"id
"と呼ばれるエントリーをもつオブジェクト、別の文字列である"type
"と呼ばれるエントリー、およびオブジェクトまたは文字列のいずれかの配列からなる値をそれぞれ持つエントリーのオブジェクトである値となる"properties
"と呼ばれるエントリーで構成される。前述の"items
"エントリーにおけるオブジェクトと同じ形式であるオブジェクトとなる。したがって、関連する仕様は、JSONおよびこの仕様である。[JSON]特に、ドラッグ&ドロップのコンテキストで、HTMLのmicrodata機能をもつ用途を意図されるデータを転送するアプリケーションは、この型に対する主要なアプリケーションの分類である。
application/json
と同じ [JSON]application/json
と同じ [JSON]application/json
と同じ [JSON]application/microdata+json
リソースとともに使用されるフラグメントは、任意のapplication/json
(すなわち、書き込み時に、一切セマンティックスのない)とともに使用される場合と同じセマンティックスを持つ。[JSON]
text/event-stream
この登録は、コミュニティによるレビューのためであり、レビュー、承認、およびIANAへの登録のためにIESGに提出される予定である。
charset
charset
パラメーターは提供されてもよい。パラメーターの値は"utf-8
"でなければならない。このパラメーターは、目的を達成しない。これはレガシーサーバーとの互換性のためのみに許可される。
情報漏洩をもたらしうるイベントストリームを消費するコンテンツの生成元とは異なる生成元からのイベントストリーム。これを回避するために、ユーザーエージェントは、CORSセマンティックスを適用する必要がある。[FETCH]
イベントストリームは、ユーザーエージェントを圧倒することができる。ユーザーエージェントは、イベントストリームからの情報過多のために、ローカルリソースの枯渇を避けるため適切な制限を適用することが期待される。
サーバーが急速に再接続をクライアントに引き起こしている状況が発生する場合、サーバーを圧倒することができる。自動的な再接続から適合クライアントを防ぐために、サーバーは容量の問題を示すために5xxステータスコードを使用すべきである。
フラグメントは、text/event-stream
リソースで意味を持たない。
web+
scheme prefixこのセクションは、IANAのURIスキームレジストリーで使用するための規則を説明する。これ自体は特定のスキームを登録しない。[RFC7595]
web+
"で始まり、その後にa
-z
範囲内の1つ以上の文字が続く。web+
"スキームは、UTF-8エンコーディングが関連したように使用すべきである。web+
"スキームに対するハンドラーを登録できる。As such, these schemes must not be used for features intended to be core platform features (e.g., HTTP). 同様に、このようなスキームは、ユーザー名、パスワード、個人情報、または機密プロジェクト名として、そのURLに機密情報を格納してはならない。