HTTP ヘッダーについて
HTTP ヘッダーの知識を更新する必要があり、それらに注意することにしました。これらは、HTTP ヘッダーに関する私のメモです。
HTTP ヘッダーとは何ですか?
- HTTP ヘッダーは、HTTP 要求または応答のフィールドであり、要求または応答に関する追加のコンテキストとメタデータを渡します。
- ヘッダーは大文字と小文字を区別しません
- これは、これらの HTTP 通信の不可欠な部分です。
リクエストヘッダー:
- 取得するリソースに関する情報が含まれています。
- 要求に表示されるすべてのヘッダーが、仕様によって要求ヘッダーと呼ばれるわけではありません。たとえば
Content-Type、ヘッダーは表現ヘッダーと呼ばれます。
- 応答に関する情報を保持します (その場所など)
- MIME タイプや適用されるエンコーディング/圧縮など、リソースの本文に関する情報が含まれます。
- やなど
Ageの応答ヘッダーは、応答のより詳細なコンテキストを提供するために使用されます。LocationServer
- コンテンツの長さやトランスポートに使用されるエンコーディングなど、ペイロード データに関する表現に依存しない情報が含まれます。
- HTTP 要求メッセージと応答メッセージの両方に存在する場合があります。
キャッシュと非キャッシュ プロキシの動作を定義する目的で、HTTP ヘッダーを 2 つのカテゴリに分類します。
- エンド ツー エンドヘッダーは、要求または応答の最終受信者に送信する必要があります。
- 応答のエンドツーエンドヘッダーは、キャッシュ エントリの一部として格納し、キャッシュ エントリから形成された応答で送信する必要があります。
- ホップバイホップヘッダーは、単一のトランスポート レベルの接続に対してのみ意味があり、キャッシュによって保存されたり、プロキシによって転送されたりすることはありません。
- 繋がり
- 生き続ける
- 公共
- プロキシ認証
- 転送エンコーディング
- アップグレード
例
多くの異なる HTTP ヘッダーがあります。例を続けましょう。
GET /home.html HTTP/1.1
Host: developer.mozilla.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://developer.mozilla.org/testpage.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT
If-None-Match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a"
Cache-Control: max-age=0
ホスト:要求されているサイトに関する情報と、オプションのポート番号。(デフォルト: 80)
User-Agent:リクエストを発信したユーザー エージェントに関する情報が含まれます。
Accept:応答に受け入れられる特定のメディア タイプを指定するために使用されます。たとえば、ブラウザーは、CSS スタイルシート、画像、ビデオ、またはスクリプトを取得するときに、要求でさまざまな値を使用します。
Accept-Language:応答が想定される言語。コンマで区切られた複数の言語が許可されます。Accept-Encoding:通常、クライアントが理解できる圧縮アルゴリズム)。( )リファラー:クライアントは、URL が要求されたリソースのアドレス (URI) を指定できます。Accept-Language: de-CHdeflate, gzip
接続:キープアライブ は、サーバーへの後続のリクエストが同じ接続を使用することを意味します。c lose は、ホストとサーバーの間の接続を自動的に閉じます。つまり、後続のリクエストは新しいTCP 接続を確立する必要があります。
そして、そのような反応かもしれません
200 OK
Access-Control-Allow-Origin: *
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Mon, 18 Jul 2016 16:06:00 GMT
Etag: "c561c68d0ba92bbeb8b0f612a9199f722e3a621a"
Keep-Alive: timeout=5, max=997
Last-Modified: Mon, 18 Jul 2016 02:36:04 GMT
Server: Apache
Set-Cookie: mykey=myvalue; expires=Mon, 17-Jul-2017 16:06:00 GMT; Max-Age=31449600; Path=/; secure
Transfer-Encoding: chunked
Vary: Cookie, Accept-Encoding
X-Backend-Server: developer2.webapp.scl3.mozilla.com
X-Cache-Info: not cacheable; meta data too large
X-kuma-revision: 1085259
x-frame-options: DENY
Access-Control-Allow-Origin:サイト A がサイト B からコンテンツをフェッチしようとすると、サイト B はAccess-Control-Allow-Origin応答ヘッダーを送信して、このページのコンテンツが特定のオリジンにアクセス可能であることをブラウザーに伝えることができます。ベスト プラクティスは、このヘッダーに * を付けないことです。* の代わりに、サーバーを指定してください。
Etag:エンティティ タグです。リソースの特定のバージョンの識別子として使用されます。特定の URL のリソースが変更された場合、新しいEtag値を生成する必要があります。それらを比較すると、リソースの 2 つの表現が同じかどうかを判断できます。ご利用方法はこちらのリンクをご確認ください。
転送エンコーディング: エンコードの形式を指定します。チャンク、圧縮、デフレート、gzip などのさまざまな値があります。カンマ区切りで複数の値を指定できます。( Transfer-Encoding: gzip, chunked)
X-Frame-Options:サイトでのクリックジャッキング攻撃を防ぐために使用されます。たとえば、deny 値を使用する場合、<iframe> を他のサイトに埋め込むことはできません。sameorigin は、同じオリジンへの埋め込みを許可します。
ステータス/応答コード:
- 1xx:リクエストがサーバーによって受信され、プロセスを続行する必要があることを意味します。
- 2xx:これは、リクエストが成功したことを意味します。
- 3xx: リダイレクトを意味します :)
- 4xx: これは、リクエストに不正なリクエストが含まれていることを意味します。サーバーではなく、クライアント側に問題があります。
- 5xx: サーバーに問題があります。
- Transfer -Encoding: gzip と Content-Encoding
- HEAD と GET のパフォーマンスと違い
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
- https://www.freesoft.org/CIE/RFC/2068/143.htm

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































