Network Working Group                                           J. Mogul
Request for Comments: 3230                                    Compaq WRL
Category: Standards Track                                    A. Van Hoff
                                                                 Marimba
                                                            January 2002
        
                        Instance Digests in HTTP
        

Status of this Memo

このメモの位置付け

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (2002). All Rights Reserved.

著作権(C)インターネット協会(2002)。全著作権所有。

Abstract

抽象

HTTP/1.1 defines a Content-MD5 header that allows a server to include a digest of the response body. However, this is specifically defined to cover the body of the actual message, not the contents of the full file (which might be quite different, if the response is a Content-Range, or uses a delta encoding). Also, the Content-MD5 is limited to one specific digest algorithm; other algorithms, such as SHA-1 (Secure Hash Standard), may be more appropriate in some circumstances. Finally, HTTP/1.1 provides no explicit mechanism by which a client may request a digest. This document proposes HTTP extensions that solve these problems.

HTTP / 1.1は、サーバがレスポンスボディのダイジェストを含むことができ、コンテンツ-MD5ヘッダを定義します。しかし、これは具体的には、実際のメッセージではない(応答がContent-範囲である、またはデルタ符号化を使用する場合、全く異なるかもしれない)完全なファイルの内容の体を覆うように定義されています。また、コンテンツ-MD5は、一つの特定のダイジェストアルゴリズムに限定されています。そのようなSHA-1などの他のアルゴリズムは、(ハッシュスタンダードセキュア)、いくつかの状況においてより適切であるかもしれません。最後に、HTTP / 1.1は、クライアントがダイジェストを要求する可能性があることにより、明示的なメカニズムを提供しません。この文書では、これらの問題を解決するためのHTTP拡張を提案しています。

Table of Contents

目次

   1 Introduction....................................................  2
        1.1 Other limitations of HTTP/1.1............................  3
   2 Goals...........................................................  4
   3 Terminology.....................................................  5
   4 Specification...................................................  6
        4.1 Protocol parameter specifications........................  6
             4.1.1 Digest algorithms.................................  6
        4.2 Instance digests.........................................  7
        4.3 Header specifications....................................  8
             4.3.1 Want-Digest.......................................  8
             4.3.2 Digest............................................  9
   5 Negotiation of Content-MD5......................................  9
        
   6 IANA Considerations............................................. 10
   7 Security Considerations......................................... 10
   8 Acknowledgements................................................ 10
   9 References...................................................... 10
   10 Authors' Addresses............................................. 12
   11 Full Copyright Statement....................................... 13
        

1 Introduction

1はじめに

Although HTTP is typically layered over a reliable transport protocol, such as TCP, this does not guarantee reliable transport of information from sender to receiver. Various problems, including undetected transmission errors, programming errors, corruption of stored data, and malicious intervention can cause errors in the transmitted information.

HTTPは、通常、TCPのような信頼性の高いトランスポートプロトコル、上に積層されているが、これは、送信側から受信側への情報の信頼性の高い輸送を保証するものではありません。未検出の伝送エラー、プログラミングエラー、格納されたデータの破損、及び悪意のある介入を含む様々な問題は、送信された情報中のエラーを引き起こす可能性があります。

A common approach to the problem of data integrity in a network protocol or distributed system, such as HTTP, is the use of digests, checksums, or hash values. The sender computes a digest and sends it with the data; the recipient computes a digest of the received data, and then verifies the integrity of this data by comparing the digests.

HTTPなどのネットワークプロトコルや分散システム内のデータの整合性の問題に対する一般的なアプローチは、ダイジェスト、チェックサム、またはハッシュ値を使用することです。送信者は、ダイジェストを計算し、データとそれを送信します。受信者は、受信したデータのダイジェストを計算し、次いで、ダイジェストを比較することによって、このデータの整合性を検証します。

Checksums are used at virtually all layers of the IP stack. However, different digest algorithms might be used at each layer, for reasons of computational cost, because the size and nature of the data being protected varies, and because the possible threats to data integrity vary. For example, Ethernet uses a Cyclic Redundancy Check (CRC). The IPv4 protocol uses a ones-complement checksum over the IP header (but not the rest of the packet). TCP uses a ones-complement checksum over the TCP header and data, and includes a "pseudo-header" to detect certain kinds of programming errors.

チェックサムは、IPスタックの事実上すべての層で使用されています。ただし、保護されたデータのサイズと性質が変化するため、異なるダイジェストアルゴリズムは、計算コストの理由のために、それぞれの層で使用されるかもしれない、とデータの整合性への脅威の可能性が異なるため。たとえば、イーサネットは、巡回冗長検査(CRC)を使用しています。 IPv4プロトコルは、IPヘッダ(ただし、パケットの残りの部分)上のもの補数チェックサムを使用します。 TCPは、TCPヘッダとデータに対するもの補数チェックサムを使用し、プログラミングエラーの特定の種類を検出するための「擬似ヘッダ」を含みます。

HTTP/1.1 [4] includes a mechanism for ensuring message integrity, the Content-MD5 header. This header is actually defined for MIME-conformant messages in a standalone specification [10]. According to the HTTP/1.1 specification,

HTTP / 1.1 [4]メッセージの完全性は、Content-MD5ヘッダを確保するための機構を含みます。このヘッダは、実際には、スタンドアロン仕様[10]におけるMIME準拠メッセージのために定義されています。 HTTP / 1.1仕様によると、

The Content-MD5 entity-header field [...] is an MD5 digest of the entity-body for the purpose of providing an end-to-end message integrity check (MIC) of the entity-body.

コンテンツ-MD5エンティティヘッダフィールドは、[...]エンティティボディのエンドツーエンドのメッセージ完全性チェック(MIC)を提供する目的のためにエンティティボディのMD5ダイジェストです。

HTTP/1.1 borrowed Content-MD5 from the MIME world based on an analogy between MIME messages (e.g., electronic mail messages) and HTTP messages (requests to or responses from an HTTP server).

HTTP / MIMEメッセージ(例えば、電子メール・メッセージ)とHTTPメッセージ(HTTPサーバからの要求または応答)とのアナロジーに基づくMIMEの世界から1.1借りたのContent-MD5。

As discussed in more detail in section 3, this analogy between MIME messages and HTTP messages has resulted in some confusion. In particular, while a MIME message is self-contained, an HTTP message might not contain the entire representation of the current state of a resource. (More precisely, an HTTP response might not contain an entire "instance"; see section 3 for a definition of this term.)

セクション3で詳細に説明したように、MIMEメッセージとHTTPメッセージの間、このアナロジーは、いくつかの混乱をもたらしました。 MIMEメッセージは自己完結型であるが、特に、HTTPメッセージは、リソースの現在の状態の全体の​​表現が含まれていないかもしれません。 (より正確には、HTTPレスポンスは、全体の「インスタンス」を含有しないことがあります。この用語の定義についてはセクション3を参照します。)

There are at least two situations where this distinction is an issue:

この区別は問題である、少なくとも2つの状況があります。

1. When an HTTP server sends a 206 (Partial Content) response, as defined in HTTP/1.1. The client may form its view of an instance (e.g., an HTML document) by combining a cache entry with the partial content in the message.

HTTP / 1.1で定義されているHTTPサーバは、206(部分コンテンツ)応答を送信1.。クライアントは、メッセージ内の部分コンテンツと、キャッシュ・エントリを組み合わせることによって(例えば、HTML文書)インスタンスのビューを形成することができます。

2. When an HTTP server uses a "delta encoding", as proposed in a separate document [9]. A delta encoding represents the changes between the current instance of a resource and a previous instance, and is an efficient way of reducing the bandwidth required for cache updates. The client forms its view of an instance by applying the delta in the message to one of its cache entries.

別の文書[9]で提案されているHTTPサーバは、「デルタ符号化」を使用する2。差分符号化は、リソースの現在のインスタンスと以前のインスタンス間の変化を表しており、キャッシュの更新に必要な帯域幅を削減する効率的な方法です。クライアントは、そのキャッシュエントリの1つに、メッセージにデルタを適用することで、インスタンスのビューを形成しています。

We include these two kinds of transformations in a potentially broader category we call "instance manipulations."

我々は呼んで潜在的に広範なカテゴリに変換これら2種類含まれ、「インスタンスの操作を。」

In each of these cases, the server might use a Content-MD5 header to protect the integrity of the response message. However, because the MIC in a Content-MD5 header field applies only to the entity in that message, and not to the entire instance being reassembled, it cannot protect against errors due to data corruption (e.g., of cache entries), programming errors (e.g., improper application of a partial content or delta), certain malicious attacks [9], or corruption of certain HTTP headers in transit.

これらのケースのそれぞれにおいて、サーバは、応答メッセージの完全性を保護するためのContent-MD5ヘッダを使用する場合があります。 Content-MD5ヘッダフィールドのMICが再アセンブルされ、全体ではなくインスタンスにそのメッセージ内のエンティティにのみ適用されるためしかし、それは(これはデータの破損(例えば、キャッシュ・エントリの)、エラーをプログラムにエラーから保護することができません例えば、部分的なコンテンツやデルタの不適切な適用)、特定の悪意のある攻撃[9]、または輸送中の特定のHTTPヘッダの破損。

Thus, the Content-MD5 header, while useful and sufficient in many cases, is not sufficient for verifying instance integrity in all uses of HTTP.

したがって、コンテンツ-MD5ヘッダは、多くの場合に有用であると十分ながら、HTTPのすべての使用にインスタンスの完全性を検証するための十分ではありません。

The Digest Authentication mechanism [5] provides (in addition to its other goals) a message-digest function similar to Content-MD5, except that it includes certain header fields. Like Content-MD5, it covers a specific message, not an entire instance.

ダイジェスト認証機構[5]は、それが特定のヘッダフィールドを含むことを除いて、(その他の目標に加えて)のContent-MD5のようなメッセージダイジェスト関数を提供します。 Content-MD5のように、それは特定のメッセージではなく、インスタンス全体をカバーしています。

1.1 Other limitations of HTTP/1.1
HTTP / 1.1の1.1その他の制限

Checksums are not free. Computing a digest takes CPU resources, and might add latency to the generation of a message. (Some of these costs can be avoided by careful caching at the sender's end, but in many cases such a cache would not have a useful hit ratio.) Transmitting a digest consumes HTTP header space (and therefore increases latency and network bandwidth requirements.) If the message recipient does not intend to use the digest, why should the message sender waste resources computing and sending it?

チェックサムは無料ではありません。ダイジェストを計算することはCPUリソースを取り、メッセージの生成に遅延を追加することができます。 (これらのコストの一部は、送信者の終わりに慎重にキャッシングすることによって回避することができますが、多くの場合、このようなキャッシュは便利なヒット率を持っていないでしょう。)ダイジェストはHTTPヘッダーのスペースを消費し送信(したがって、待ち時間やネットワーク帯域幅の要件が増加します。)メッセージの受信者がダイジェストを使用することを意図していない場合は、なぜそれをメッセージの送信者の廃棄物の資源・コンピューティングとを送信する必要がありますか?

The Content-MD5 header, of course, implies the use of the MD5 algorithm [15]. Other algorithms, however, might be more appropriate for some purposes. These include the SHA-1 algorithm [12] and various "fingerprinting" algorithms [7]. HTTP currently provides no standardized support for the use of these algorithms.

Content-MD5ヘッダは、当然のことながら、MD5アルゴリズム[15]の使用を意味します。他のアルゴリズムは、しかし、いくつかの目的のために、より適切な場合があります。これらは、SHA-1アルゴリズム[12]と、様々な "フィンガープリント" アルゴリズムを含む[7]。 HTTPは、現在、これらのアルゴリズムの使用のための標準化されたサポートを提供しません。

HTTP/1.1 apparently assumes that the choice to generate a digest is up to the sender, and provides no mechanism for the recipient to indicate whether a checksum would be useful, or what checksum algorithms it would understand.

HTTP / 1.1は明らかにダイジェストを生成するための選択は、送信者に任されて、受信者はチェックサムが有用であろうかどうかを示すために、またはそれは理解するであろうものをチェックサムアルゴリズムのためのメカニズムを提供しないことを前提としています。

2 Goals

2つの目標

The goals of this proposal are:

この提案の目的は次のとおりです。

1. Digest coverage for entire instances communicated via HTTP.
HTTPを介して通信全体のインスタンスの1ダイジェストカバレッジ。
2. Support for multiple digest algorithms.
複数のダイジェストアルゴリズムの2をサポート。
3. Negotiation of the use of digests.
ダイジェストの使用3.交渉。

The goals do not include:

目標が含まれていません。

- header integrity The digest mechanisms described here cover only the bodies of instances, and do not protect the integrity of associated "entity headers" or other message headers.

- ここで説明ヘッダの完全性ダイジェストメカニズムは、インスタンスの唯一体を覆い、そして関連する「エンティティヘッダ」または他のメッセージヘッダの完全性を保護しません。

- authentication The digest mechanisms described here are not meant to support authentication of the source of a digest or of a message or instance. These mechanisms, therefore, are not sufficient defense against many kinds of malicious attacks.

- ここで説明する認証ダイジェストメカニズムは、ダイジェストのまたはメッセージまたはインスタンスのソースの認証をサポートするものではありません。これらのメカニズムは、このため、悪意のある攻撃の多くの種類に対して十分な防御力ではありません。

- privacy Digest mechanisms do not provide message privacy.

- プライバシーダイジェストメカニズムは、メッセージのプライバシーを提供していません。

- authorization The digest mechanisms described here are not meant to support authorization or other kinds of access controls.

- ここで説明する承認ダイジェストメカニズムは、認証やアクセス制御の他の種類をサポートすることを意味していません。

The Digest Access Authentication mechanism [5] can provide some integrity for certain HTTP headers, and does provide authentication.

ダイジェストアクセス認証機構[5]特定のHTTPヘッダーのためのいくつかの整合性を提供することができ、認証を提供しません。

3 Terminology

3用語

HTTP/1.1 [4] defines the following terms:

HTTP / 1.1 [4]以下の用語を定義しています。

resource A network data object or service that can be identified by a URI, as defined in section 3.2. Resources may be available in multiple representations (e.g. multiple languages, data formats, size, resolutions) or vary in other ways.

セクション3.2で定義されるように、URIによって識別することができるネットワーク・データ・オブジェクトまたはサービスリソース。リソースが複数の表現に利用可能である(例えば、複数の言語、データフォーマット、サイズ、解像度)、または他の方法で変えることができます。

entity The information transferred as the payload of a request or response. An entity consists of metainformation in the form of entity-header fields and content in the form of an entity-body, as described in section 7.

エンティティ要求または応答のペイロードとして転送される情報。セクション7で説明したように、エンティティは、エンティティ - ヘッダフィールド及びエンティティ - 本体の形のコンテンツの形でメタ情報から構成されています。

variant A resource may have one, or more than one, representation(s) associated with it at any given instant. Each of these representations is termed a `variant.' Use of the term `variant' does not necessarily imply that the resource is subject to content negotiation.

バリアントリソースは、1つ、または任意の所与の瞬間に、それに関連付けられた複数の、表現(単数または複数)を有していてもよいです。これらの表現のそれぞれを `バリアントと呼ばれています。」用語 `バリアント」の使用は、必ずしもリソースが内容交渉の対象であることを意味するものではありません。

The dictionary definition for "entity" is "something that has separate and distinct existence and objective or conceptual reality" [8]. Unfortunately, the definition for "entity" in HTTP/1.1 is similar to that used in MIME [6], based on an entirely false analogy between MIME and HTTP.

「実体」の辞書の定義は、「独立した別個の存在と客観的または概念的な現実を持っているもの」である[8]。残念ながら、HTTP / 1.1の「エンティティ」の定義は、MIMEで使用されるものと同様である[6]、MIMEとHTTPとの間の完全に誤った類推に基づきます。

In MIME, electronic mail messages do have distinct and separate existences. MIME defines "entity" as something that "refers specifically to the MIME-defined header fields and contents of either a message or one of the parts in the body of a multipart entity."

MIMEでは、電子メールメッセージは異なる別個な存在を持っています。 MIMEは、何かのように、「実体」を定義する「MIME定義ヘッダフィールドおよびメッセージまたはマルチパートエンティティの本体内の部品のいずれかの内容を具体的に指します。」

In HTTP, however, a response message to a GET does not have a distinct and separate existence. Rather, it is describing the current state of a resource (or a variant, subject to a set of constraints). The HTTP/1.1 specification provides no term to describe "the value that would be returned in response to a GET request at the current time for the selected variant of the specified resource." This leads to awkward wordings in the HTTP/1.1 specification in places where this concept is necessary.

HTTPでは、しかし、GETに応答メッセージは異なる別個の存在を持っていません。むしろ、リソース(またはその変異体、制約のセットを受ける)の現在の状態を記述しています。 HTTP / 1.1仕様では、説明するいかなる用語提供していない「指定されたリソースの選択された変異体のための現時点でGET要求に応答して返される値。」これは、この概念が必要な場所でのHTTP / 1.1仕様では厄介な文言につながります。

It is too late to fix the terminological failure in the HTTP/1.1 specification, so we instead define a new term, for use in this document:

HTTP / 1.1仕様での用語の不具合を修正するために遅すぎるので、我々は代わりに、このドキュメントで使用するために、新しい用語を定義します。

instance The entity that would be returned in a status-200 response to a GET request, at the current time, for the selected variant of the specified resource, with the application of zero or more content-codings, but without the application of any instance manipulations or transfer-codings.

インスタンスが、すべてのインスタンスを適用せず、ゼロ個以上の内容コーディングを適用して、指定されたリソースの選択した変異体のために、現在の時点で、GET要求に対するステータス-200応答で返されることになるエンティティ操作または転送コーディング。

It is convenient to think of an entity tag, in HTTP/1.1, as being associated with an instance, rather than an entity. That is, for a given resource, two different response messages might include the same entity tag, but two different instances of the resource should never be associated with the same (strong) entity tag.

むしろ実体よりも、インスタンスに関連するものとして、HTTP / 1.1で、エンティティタグを考えると便利です。つまり、与えられたリソースのために、二つの異なる応答メッセージは、同じエンティティタグが含まれる場合がありますが、リソースの2つの異なるインスタンスが同じ(強い)エンティティタグに関連付けられてはいけません。

We also define this term:

また、この用語を定義します。

instance manipulation An operation on one or more instances which may result in an instance being conveyed from server to client in parts, or in more than one response message. For example, a range selection or a delta encoding. Instance manipulations are end-to-end, and often involve the use of a cache at the client.

部品にサーバからクライアントに搬送される場合に、または複数の応答メッセージをもたらすことができる1つまたは複数のインスタンスでインスタンス操作オペレーション。例えば、範囲選択またはデルタエンコード。インスタンス操作はエンド・ツー・エンドであり、多くの場合、クライアントでのキャッシュの使用を含みます。

4 Specification

4仕様

In this specification, the key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" are to be interpreted as described in RFC 2119 [2].

本明細書では[2]、キーワード "MUST"、 "MUST NOT"、 "SHOULD" は、 "べきでない"、及びRFC 2119に記載されるように解釈される "場合があります"。

4.1 Protocol parameter specifications
4.1プロトコルのパラメータ仕様
4.1.1 Digest algorithms
4.1.1ダイジェストアルゴリズム

Digest algorithm values are used to indicate a specific digest computation. For some algorithms, one or more parameters may be supplied.

ダイジェストアルゴリズム値は、特定のダイジェスト計算を示すために使用されます。いくつかのアルゴリズムのために、一つ以上のパラメータを供給することができます。

digest-algorithm = token

ダイジェストアルゴリズム=トークン

The BNF for "parameter" is as is used in RFC 2616 [4]. All digest-algorithm values are case-insensitive.

「パラメータ」のためのBNFは、RFC 2616で使用されている通りである[4]。すべてのダイジェスト・アルゴリズムの値は、大文字と小文字を区別しません。

The Internet Assigned Numbers Authority (IANA) acts as a registry for digest-algorithm values. Initially, the registry contains the following tokens:

IANA(Internet Assigned Numbers Authority)は、ダイジェストアルゴリズム値のレジストリとして作用します。最初は、レジストリは次のトークンが含まれています。

MD5 The MD5 algorithm, as specified in RFC 1321 [15]. The output of this algorithm is encoded using the base64 encoding [1].

MD5ザMD5アルゴリズム、RFC 1321で指定されるように[15]。このアルゴリズムの出力は、base64エンコーディングを使用して符号化される[1]。

SHA The SHA-1 algorithm [12]. The output of this algorithm is encoded using the base64 encoding [1].

SHA SHA-1アルゴリズム[12]。このアルゴリズムの出力は、base64エンコーディングを使用して符号化される[1]。

UNIXsum The algorithm computed by the UNIX "sum" command, as defined by the Single UNIX Specification, Version 2 [13]. The output of this algorithm is an ASCII decimal-digit string representing the 16-bit checksum, which is the first word of the output of the UNIX "sum" command.

UNIXsum単一UNIX仕様によって定義されるように、UNIX「和」コマンドによって計算アルゴリズム、バージョン2 [13]。このアルゴリズムの出力は、UNIX「和」コマンドの出力の最初のワードである16ビットのチェックサムを表すASCII小数桁の文字列です。

UNIXcksum The algorithm computed by the UNIX "cksum" command, as defined by the Single UNIX Specification, Version 2 [13]. The output of this algorithm is an ASCII digit string representing the 32-bit CRC, which is the first word of the output of the UNIX "cksum" command.

UNIXcksum単一UNIX仕様によって定義されるように、UNIX「cksumの」コマンドによって計算アルゴリズム、バージョン2 [13]。このアルゴリズムの出力は、UNIX「cksumの」コマンドの出力の最初のワードである32ビットCRCを表すASCII数字列です。

If other digest-algorithm values are defined, the associated encoding MUST either be represented as a quoted string, or MUST NOT include ";" or "," in the character sets used for the encoding.

他のダイジェストアルゴリズム値が定義されている場合、関連する符号化のいずれか引用符付きの文字列として表現されなければならない、または含んではいけません「;」または「」文字セットで符号化のために使用されます。

4.2 Instance digests
4.2インスタンスのダイジェスト

An instance digest is the representation of the output of a digest algorithm, together with an indication of the algorithm used (and any parameters).

インスタンスダイジェストは、一緒に使用されるアルゴリズム(および任意のパラメータ)の指示で、ダイジェストアルゴリズムの出力の表現です。

       instance-digest = digest-algorithm "="
                               <encoded digest output>
        

The digest is computed on the entire instance associated with the message. The instance is a snapshot of the resource prior to the application of of any instance manipulation or transfer-coding (see section 3). The byte order used to compute the digest is the transmission byte order defined for the content-type of the instance.

ダイジェストは、メッセージに関連付けられているインスタンス全体で計算されます。インスタンスは、インスタンスの操作または転送符号化(セクション3を参照)の適用前にリソースのスナップショットです。ダイジェストを計算するために使用されるバイト順序は、インスタンスのコンテンツ・タイプに対して定義された送信バイトオーダーです。

Note: the digest is computed before the application of any instance manipulation. If a range or a delta-coding [9] is used, the computation of the digest after the computation of the range or delta would not provide a digest useful for checking the integrity of the reassembled instance.

注意:ダイジェストが任意のインスタンス操作を適用する前に計算されます。 [9]が使用されている範囲又はデルタ符号化した場合、範囲又はデルタ演算後のダイジェストの計算は、再組み立てインスタンスの整合性をチェックするためのダイジェスト便利を提供しないであろう。

The encoded digest output uses the encoding format defined for the specific digest-algorithm. For example, if the digest-algorithm is "MD5", the encoding is base64; if the digest-algorithm is "UNIXsum", the encoding is an ASCII string of decimal digits.

ダイジェスト符号化された出力は、特定のダイジェストアルゴリズムに対して定義された符号化形式を使用します。ダイジェストアルゴリズムが「MD5」である場合、例えば、符号化は、base64です。ダイジェスト・アルゴリズムは「UNIXsum」である場合、エンコードは小数点以下の桁のASCII文字列です。

Examples:

例:

MD5=HUXZLQLMuI/KZ5KDcJPcOA== sha=thvDyvhfIqlvFe+A9MYgxAfm1q5= UNIXsum=30637

MD5 = HUXZLQLMuI / KZ5KDcJPcOA == SHA = thvDyvhfIqlvFe + A9MYgxAfm1q5 = UNIXsum = 30637

4.3 Header specifications
4.3ヘッダーの仕様

The following headers are defined.

以下のヘッダが定義されています。

4.3.1 Want-Digest
4.3.1たいダイジェスト

The Want-Digest message header field indicates the sender's desire to receive an instance digest on messages associated with the Request-URI.

欲しいダイジェストメッセージヘッダフィールドは、Request-URIに関連付けられたメッセージにダイジェストのインスタンスを受け取るために、送信者の意欲を示しています。

       Want-Digest = "Want-Digest" ":"
                        #(digest-algorithm [ ";" "q" "=" qvalue])
        

If a digest-algorithm is not accompanied by a qvalue, it is treated as if its associated qvalue were 1.0.

ダイジェストアルゴリズムはqvalueを伴わない場合は、その関連のqvalueは1.0であるかのように扱われています。

The sender is willing to accept a digest-algorithm if and only if it is listed in a Want-Digest header field of a message, and its qvalue is non-zero.

送信者は、それがメッセージの欲しいダイジェストヘッダフィールドにリストされ、そののqvalueが非ゼロである場合だけダイジェストアルゴリズムを受け入れる意志があります。

If multiple acceptable digest-algorithm values are given, the sender's preferred digest-algorithm is the one (or ones) with the highest qvalue.

複数の許容ダイジェスト・アルゴリズムの値が与えられている場合は、送信者の優先ダイジェスト・アルゴリズムは、最高のqvalueを持つ1(または1)です。

Examples:

例:

Want-Digest: md5 Want-Digest: MD5;q=0.3, sha;q=1

たいダイジェスト:MD5欲しいダイジェスト:MD5; Q = 0.3、SHA; Q = 1

4.3.2 Digest
4.3.2ダイジェスト

The Digest message header field provides a message digest of the instance described by the message.

ダイジェストメッセージヘッダフィールドは、メッセージによって記述インスタンスのメッセージダイジェストを提供します。

Digest = "Digest" ":" #(instance-digest)

ダイジェスト=「ダイジェスト」「:」#(インスタンスダイジェスト)

The instance described by a message might be fully contained in the message-body, partially-contained in the message-body, or not at all contained in the message-body. The instance is specified by the Request-URI and any cache-validator contained in the message.

メッセージによって記述インスタンスは、完全メッセージボディ内に部分的に含まれる、またはまったくメッセージボディに含まれていない、メッセージ本体に含まれるかもしれません。インスタンスは、リクエストURIとメッセージに含まれるキャッシュバリデータによって指定されます。

A Digest header field MAY contain multiple instance-digest values. This could be useful for responses expected to reside in caches shared by users with different browsers, for example.

ダイジェストヘッダフィールドは、複数のインスタンスのダイジェスト値を含むかもしれません。これは、例えば、異なるブラウザでのユーザーによって共有キャッシュに存在することが予想応答のために有用である可能性があります。

A recipient MAY ignore any or all of the instance-digests in a Digest header field.

受信者は、ダイジェストヘッダフィールドにインスタンスダイジェストのいずれかまたはすべてを無視してもよいです。

A sender MAY send an instance-digest using a digest-algorithm without knowing whether the recipient supports the digest-algorithm, or even knowing that the recipient will ignore it.

送信者は受信者がダイジェスト・アルゴリズムをサポートしているかどうかを知ること、あるいは受信者がそれを無視することを知らずにダイジェスト・アルゴリズムを使用して、インスタンスがダイジェスト送るかもしれません。

Examples:

例:

Digest: md5=HUXZLQLMuI/KZ5KDcJPcOA== Digest: SHA=thvDyvhfIqlvFe+A9MYgxAfm1q5=,unixsum=30637

ダイジェスト:MD5 = HUXZLQLMuI / KZ5KDcJPcOA ==ダイジェスト:SHA = thvDyvhfIqlvFe + A9MYgxAfm1q5 =、unixsum = 30637

5 Negotiation of Content-MD5

Content-MD5の5交渉

HTTP/1.1 provides a Content-MD5 header field, but does not provide any mechanism for requesting its use (or non-use). The Want-Digest header field defined in this document provides the basis for such a mechanism.

HTTP / 1.1は、Content-MD5ヘッダフィールドを提供し、その使用(または不使用)を要求するための任意のメカニズムを提供しません。この文書で定義されて欲しいダイジェストヘッダフィールドは、そのような機構の基礎を提供します。

First, we add to the set of digest-algorithm values (in section 4.1.1) the token "contentMD5", with the provision that this digest-algorithm MUST NOT be used in a Digest header field.

まず、このダイジェストアルゴリズムは、ダイジェストヘッダフィールドで使用されてはならないことを規定して、(セクション4.1.1において)ダイジェストアルゴリズム値トークン「contentMD5」のセットに追加します。

The presence of the "contentMD5" digest-algorithm with a non-zero qvalue in a Want-Digest header field indicates that the sender wishes to receive a Content-MD5 header on messages associated with the Request-URI.

欲しいダイジェストヘッダフィールド内の非ゼロのqvalueを有する「contentMD5は」ダイジェストアルゴリズムが存在することは、送信者がRequest-URIに関連付けられたメッセージでContent-MD5ヘッダを受信したいことを示しています。

The presence of the "contentMD5" digest-algorithm with a zero qvalue in a Want-Digest header field indicates that the sender will ignore Content-MD5 headers on messages associated with the Request-URI.

欲しいダイジェストヘッダフィールドにゼロのqvalueと「contentMD5」ダイジェスト・アルゴリズムが存在することは、送信者がRequest-URIに関連付けられたメッセージでContent-MD5ヘッダを無視することを示しています。

6 IANA Considerations

6つのIANAの考慮事項

The Internet Assigned Numbers Authority (IANA) administers the name space for digest-algorithm values. Values and their meaning must be documented in an RFC or other peer-reviewed, permanent, and readily available reference, in sufficient detail so that interoperability between independent implementations is possible. Subject to these constraints, name assignments are First Come, First Served (see RFC 2434 [11]).

IANA(Internet Assigned Numbers Authority)は、ダイジェストアルゴリズム値のための名前空間を管理します。独立した実装の間の相互運用性が可能になるような値とその意味は十分に詳細に、RFCまたは他の査読、永久的な、かつ容易に入手可能な文献に文書化されなければなりません。件名、これらの制約に、名前の割り当ては早い者勝ちしている(RFC 2434を参照してください[11])。

7 Security Considerations

7つのセキュリティの考慮事項

This document specifies a data integrity mechanism that protects HTTP instance data, but not HTTP entity headers, from certain kinds of accidental corruption. It is also useful in detecting at least one spoofing attack [9]. However, it is not intended as general protection against malicious tampering with HTTP messages.

この文書では、不慮の破損の特定の種類の中から、HTTPのインスタンスデータではなく、HTTPエンティティヘッダを保護し、データの整合性メカニズムを指定します。それはまた、少なくとも1回のスプーフィング攻撃[9]を検出するのに有用です。しかし、それは、HTTPメッセージで悪質な改ざんに対する一般保護するものではありません。

The HTTP Digest Access Authentication mechanism [5] provides some protection against malicious tampering.

HTTPダイジェストアクセス認証メカニズム[5]悪意のある改ざんに対するいくつかの保護を提供します。

8 Acknowledgements

8つの謝辞

It is not clear who first realized that the Content-MD5 header field is not sufficient to provide data integrity when ranges or deltas are used.

最初のContent-MD5ヘッダフィールドは、範囲またはデルタが使用されている場合、データの整合性を提供するのに十分ではないことに気づいた人は明らかではありません。

Laurent Demailly may have been the first to suggest an algorithm-independent checksum header for HTTP [3]. Dave Raggett suggested the use of the term "digest" instead of "checksum" [14].

ローランDemaillyはHTTP [3]のアルゴリズムに依存しないチェックサムヘッダを示唆する最初であったかもしれません。デイブ・ラゲットではなく、「チェックサム」の[14]を「ダイジェスト」という用語の使用を示唆しました。

9 References

9つの参考文献

[1] Freed, N. and N. Borenstein, N., "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC 2049, November 1996.

[1]解放され、N.とN. Borenstein、N.し、「MIME(多目的インターネットメール拡張)第一部:インターネットメッセージ本体の形式を指定し、説明するためのメカニズム」、RFC 2049、1996年11月。

[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[2]ブラドナーのは、S.は、BCP 14、RFC 2119、1997年3月の "RFCsにおける使用のためのレベルを示すために"。

[3] Laurent Demailly. Re: Revised Charter. http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q4/0165.html.

[3]ローランDemailly。日時:改訂憲章。 http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q4/0165.html。

[4] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1.", RFC 2616, June 1999.

[4]フィールディング、R.、ゲティス、J.、モーグル、J.、Frystyk、H.、Masinter、L.、リーチ、P.、およびT.バーナーズ - リー、 "ハイパーテキスト転送プロトコル - HTTP / 1.1"。 、RFC 2616、1999年6月。

[5] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A. and L. Stewart, "HTTP Authentication: Basic and Digest Access Authentication", RFC 2617, June 1999.

[5]フランクス、J.、ハラム・ベイカー、P.、Hostetler、J.、ローレンス、S.、リーチ、P.、Luotonen、A.およびL.スチュワート、 "HTTP認証:基本とダイジェストアクセス認証"、 RFC 2617、1999年6月。

[6] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996.

[6]フリード、N.とN. Borenstein、 "マルチパーパスインターネットメールエクステンション(MIME)第一部:インターネットメッセージ本体のフォーマット"、RFC 2045、1996年11月。

[7] Nevin Heintze. Scalable Document Fingerprinting. Proc. Second USENIX Workshop on Electronic Commerce, USENIX, Oakland, CA, November, 1996, pp. 191-200. http://www.cs.cmu.edu/afs/cs/user/nch/www/koala/main.html.

[7]ネヴィンHeintze。スケーラブルなドキュメントフィンガープリント。 PROC。第二にUSENIX電子商取引、USENIXに関するワークショップ、オークランド、CA、11月、1996年、頁191-200。 http://www.cs.cmu.edu/afs/cs/user/nch/www/koala/main.html。

[8] Merriam-Webster. Webster's Seventh New Collegiate Dictionary. G. & C. Merriam Co., Springfield, MA, 1963.

[8]メリアム・ウェブスター。ウェブスターの第七新カレッジ英英辞典。 G.&C.メリアム(株)、スプリングフィールド、MA、1963。

[9] Mogul, J., Krishnamurthy, B., Douglis, F., Feldmann, A., Goland, Y. and A. van Hoff, "Delta encoding in HTTP", RFC 3229, December 2001.

[9]モーグル、J.、クリシュナムルティ、B.、ダグラス、F.、フェルドマン、A.、Golang、Y.及びA.ヴァン・ホッフ、 "HTTPにおけるデルタ符号化"、RFC 3229、2001年12月。

[10] Myers, J. and M. Rose, "The Content-MD5 Header Field", RFC 1864, October 1995.

[10]マイヤーズ、J.とM.ローズ、 "コンテンツ-MD5ヘッダーフィールド"、RFC 1864、1995年10月。

[11] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

、BCP 26、RFC 2434、1998年10月[11] Narten氏、T.とH. Alvestrand、 "RFCsにIANA問題部に書くためのガイドライン"。

[12] National Institute of Standards and Technology. Secure Hash Standard. FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION 180-1, U.S. Department of Commerce, April, 1995. http://csrc.nist.gov/fips/fip180-1.txt.

[12]アメリカ国立標準技術研究所。ハッシュ標準を固定します。連邦情報処理規格出版物180-1、米国商務省が、4月、1995 http://csrc.nist.gov/fips/fip180-1.txt。

[13] The Open Group. The Single UNIX Specification, Version 2 - 6 Vol Set for UNIX 98. Document number T912, The Open Group, February, 1997.

[13]オープングループ。シングルUNIX仕様、バージョン2 - UNIX 98.文書番号T912、Open Groupの2月、1997年6巻セット。

[14] Dave Raggett. Re: Revised Charter. http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q4/0182.html.

[14]デイブ・ラゲット。日時:改訂憲章。 http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q4/0182.html。

[15] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992.

[15]リベスト、R.、 "MD5メッセージダイジェストアルゴリズム"、RFC 1321、1992年4月。

10 Authors' Addresses

10本の著者のアドレス

Jeffrey C. Mogul Western Research Laboratory Compaq Computer Corporation 250 University Avenue Palo Alto, California, 94305, U.S.A.

ジェフリーC.モーグル西研究所コンパックコンピュータ株式会社250大学アベニューパロアルト、カリフォルニア、94305、U.S.A.

EMail: JeffMogul@acm.org Phone: 1 650 617 3304 (email preferred)

メールアドレス:JeffMogul@acm.org電話:1 650 617 3304(電子メール優先)

Arthur van Hoff Marimba, Inc. 440 Clyde Avenue Mountain View, CA 94043

アーサー・バン・ホフマリンバ、Inc.の440クライドアベニューマウンテンビュー、CA 94043

EMail: avh@marimba.com Phone: 1 (650) 930 5283

電子メール:avh@marimba.com電話:1(650)930 5283

11 Full Copyright Statement

11完全な著作権声明

Copyright (C) The Internet Society (2002). All Rights Reserved.

著作権(C)インターネット協会(2002)。全著作権所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

この文書とその翻訳は、コピーして他の人に提供し、それ以外についてはコメントまたは派生物は、いかなる種類の制限もなく、全体的にまたは部分的に、準備コピーし、公表して配布することができることを説明したり、その実装を支援することができます、上記の著作権表示とこの段落は、すべてのそのようなコピーや派生物に含まれていることを条件とします。しかし、この文書自体は著作権のための手順はで定義されている場合には、インターネット標準を開発するために必要なものを除き、インターネットソサエティもしくは他のインターネット関連団体に著作権情報や参照を取り除くなど、どのような方法で変更されないかもしれませんインターネット標準化プロセスが続く、または英語以外の言語に翻訳するために、必要に応じなければなりません。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上記の制限は永久で、インターネット学会やその後継者や譲渡者によって取り消されることはありません。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

この文書とここに含まれている情報は、基礎とインターネットソサエティおよびインターネットエンジニアリングタスクフォースはすべての保証を否認し、明示または黙示、その情報の利用がない任意の保証を含むがこれらに限定されない「として、」上に設けられています特定の目的への権利または商品性または適合性の黙示の保証を侵害します。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。