Http(ハイパーテキスト転送プロトコル)
HTTP プロトコル (HyperText Transfer Protocol、ハイパーテキスト転送プロトコル) は、WWW サーバーからローカル ブラウザーにハイパーテキストを転送するために使用される転送プロトコルです。これにより、ブラウザの効率が向上し、ネットワーク送信が削減されます。これにより、コンピュータがハイパーテキスト ドキュメントを正確かつ迅速に送信することが保証されるだけでなく、ドキュメントのどの部分が送信されるか、コンテンツのどの部分が最初に表示されるか (グラフィックの前のテキストなど) なども決定されます。
httpプロトコルのやり取りに使用される情報は、httpメッセージと呼ばれます。要求側(クライアント)からのhttpメッセージをリクエストメッセージ、応答側(サーバー)からの
http
メッセージをレスポンスメッセージと呼びます。 リクエストメッセージは、リクエストメソッド
、リクエスト
URI、プロトコルバージョン、ヘッダフィールド(オプション)、コンテンツエンティティ(オプション)で構成されます
応答メッセージは、プロトコルバージョン、
ステータスコード
、理由で構成されますフレーズ、ヘッダー フィールド (オプション)、エンティティ本体の構成
各メッセージでは、リクエスト
URI、プロトコル バージョン、ステータス コード、理由フレーズ、ヘッダー フィールドはメッセージ ヘッダーに属し、その後に空行が含まれます。メッセージの本文です。
ヘッダー フィールドには
4
のタイプがあります: リクエスト ヘッダー フィールド、レスポンス ヘッダー フィールド、一般ヘッダー フィールド、エンティティ ヘッダー フィールド、一般ヘッダーとエンティティ ヘッダーはリクエスト メッセージとレスポンス メッセージの両方に使用されますが、リクエスト ヘッダーはリクエスト ヘッダーのみに使用されます。要求メッセージにはそれが含まれており、応答ヘッダーは応答メッセージ内にのみ存在します。
メッセージはhttp通信の基本単位であり、8バイトのストリームで構成され、
http
通信を通じて送信されます。
エンティティはリクエストとレスポンスのペイロードデータ(補足項目)として送信され、その内容はエンティティヘッダとエンティティボディで構成されます
通常、メッセージボディはエンティティボディと同等です。送信中にエンコード操作が実行され、エンティティ本体の内容が変更された場合にのみ、メッセージ本体との不一致が発生します。 http1.0 および
http1.1
サポートされているメソッド
|
メソッド
|
手順 http
| プロトコル
のバージョンをサポートしています
|
GET URIで識別されるリソースを取得します
|
|
1.0,1.1
|
POST
|
転送エンティティ本体
|
1.0,1.1
|
PUT ファイルを転送(検証メカニズムなし
| )
| 1.0,1.1
HEAD |
| メッセージヘッダーを取得します
| 1.0,1.1
削除 |
ファイルを削除( 検証メカニズムなし) |
1.0,1.1🎜🎜 |
オプション |
サポートを求める |
1.1 |
TRACE |
パスを追跡 |
1.1 |
CONNECT |
トンネリングプロトコルリンクプロキシが必要 |
1.1 |
LINK |
リソースとの接続を確立する | 1.0 |
リンク解除 |
関係を切断 |
1.0 |
httpステータスコード
ステータスコード |
カテゴリ |
理由フレーズ |
1XX | mational (情報ステータス コード) 受信したリクエストは処理中です |
|
2XX
Success | (成功ステータスコード)
リクエストは正常に処理されました |
|
3XX
Re | direction
(リダイレクトステータスコード) リクエストを完了するには追加のアクションが必要です |
|
4XX
クライアントサーバーエラー | リクエストの処理中にサーバーでエラーが発生しました
|
14
200 OK |
の一般的に使用されるステータスコードは、クライアントからのリクエストがサーバー側で正常に処理されたことを示します |
204 いいえContent
|
は、サーバーによって受信されたリクエストが正常に処理されたが、返された応答メッセージにエンティティ本体部分が含まれていないことを意味します |
206 Partial Content |
を意味しますクライアントがスコープ指定されたリクエストを持っており、サーバーが GET リクエストのこの部分を正常に実行したこと |
301 Moved Permaently |
リクエストされたリソースが永続的にリダイレクトされたことを示します。新しい URI が割り当てられているため、今後は URI |
302 Found |
A 一時リダイレクトを使用する必要があります。これは、要求されたリソースに新しい が割り当てられたことを示しますURIを使用して、ユーザーが新しいuriを使用して |
303 SEE Other |
にアクセスできることを願っています対応するリソースリクエスト、リクエストされたリソースを取得するにはGETメソッドを使用します |
304 Not Modified は、クライアントが条件付きリクエストを送信すると、サーバーがただし、リクエストが条件を満たした後は、直接 | 304 Not Modified (サーバー側のリソースが変更されるため、期限切れになっていないクライアントのメイン部分を直接使用できます) |
307 一時的なリダイレクト
一時的なリダイレクトは | 302
|
4 と同じ意味です00 Bad Request
は、 | 構文があることを意味しますリクエストメッセージのエラー。サーバーはリクエストを認識できません
|
401 Unauthorized
は、送信されたリクエストが | httpによって認証された認証情報を渡す必要があることを意味します。以前にリクエストが行われたことがある場合は、ユーザー認証が失敗したことを意味します |
403 Forbidden
は、リクエストされたリソースへのアクセスがサーバーによって拒否されたことを意味します。アクセスする権限がありません |
|
404 Not Found
は、サーバーが要求されたリソースを見つけることができない、つまり、そのようなリソースが存在しないことを意味します |
|
500 内部サーバーエラー
リクエストの実行時にサーバー側でエラーが発生したことを示します。 | web
アプリケーションにバグがあるか、一時的な障害 が発生している可能性もあります。 |
503 サービスを利用できません
サーバーが一時的に過負荷になっているか、メンテナンスのためダウンタイムが発生しているため、リクエストを処理できません |
httpユニバーサルヘッダフィールド
ユニバーサルヘッダフィールド名 |
説明 |
キャッシュ-コントロール |
コントロールキャッシュの 動作 |
Connection |
ホップバイホップヘッダーと永続的な接続を管理する |
日付
|
メッセージ作成日 時間 |
Pragma |
Message Command |
Trailer
| メッセージ末尾のヘッダーのリスト
|
Transfer-Encoding
|
メッセージ本文の送信エンコード方式を指定
|
他のプロトコルにアップグレードs を検出し、上位バージョンのプロトコル通信が可能かどうかを検出します。使用される可能性があります
|
Via |
プロキシサーバー関連情報、クライアントとサーバー間のリクエストおよびレスポンスメッセージの伝送経路を追跡
|
警告 |
エラー通知。通常、キャッシュ関連の問題に関する警告がユーザーに通知されます
|
http1.1 警告コード(警告、全7種類)
警告コード |
警告内容 |
注意事項 |
110 |
応答が古い(応答の有効期限が切れています) |
エージェントは期限切れのリソースを返します |
111 |
再検証に失敗しました(再検証に失敗しました) |
エージェントがリソースの有効性を検証できなかった場合に失敗しました(サーバーにアクセスできないなど) |
112 |
切断操作( 操作) |
プロキシとインターネットリンクは意図的に切断されています |
113 |
ヒューリスティック有効期限( ヒューリスティック有効期限 ) | レスポンシブ 使用期間が24時間を超えています(有効なキャッシュ設定時間が24時間を超えている場合) |
199 |
その他の警告(その他の警告 )
|
あらゆる警告内容 |
214 |
変換が適用されました(使用された変換) ) |
コンテンツエンコーディングのプロキシまたはメディア その他の永続的警告(永続的その他の警告 | )
コンテンツ |
httpリクエストヘッダーフィールド
リクエストヘッダーフィールド |
説明 |
|
ユーザーエージェントが使用できるメディアタイプハンドルおよびメディアタイプの相対的な優先度 |
Accept-Charset |
メディアタイプの優先文字セット、ユーザーエージェントによってサポートされている文字セット、および相対優先度 |
Accept-Encoding |
優先順位付けされたコンテンツエンコーディング、ユーザーエージェントがサポートするコンテンツエンコーディングと優先順位 |
Accept-Language |
優先言語、ユーザーエージェントが処理できる自然言語と自然言語セットの相対的な優先度 |
Web認証情報
|
Expなど |
サーバーからの特定の動作を期待します
|
From |
ユーザーのメールアドレス
|
ホスト
|
リクエストされたリソースが存在するサーバー位置情報(ホスト名とポート番号)
|
If-Match |
とエンティティタグ(ETag )を比較し、同じであればリクエストを実行し、そうでなければリクエストを実行します 412 |
ステータスコード If-Modefied-Since
|
If-Modefied-Since フィールドの値がupより前の場合リソースの日付 時刻、リクエストを処理したい場合は、 |
304 ステータスコードを返しますIf-None-Match
|
エンティティタグを比較します(If-Match の反対) )
|
If-Range |
リソースが更新されていないときに、エンティティ Byte の範囲リクエストを送信します。 If-Range |
フィールドの値がリクエストされたリソースの ETagの値または時間と一致する場合、範囲リクエストとして処理され、そうでない場合はすべてのリソースが返されます If-Unmodified-Since
|
リソースの更新時間を比較します(If-Modified-Since とは対照的)
|
Max-Forwards |
最大ホップごとの転送番号 (10 進数形式で、通過できるサーバーの最大数を指定します)
|
Proxy-Authorization |
プロキシサーバーにはクライアントの認証情報が必要です
|
Range |
|
Refererのエンティティバイト範囲リクエスト |
リクエスト内のURIの元のゲッター(リクエストされた元のリソースのURI)へ |
TE |
サーバーに次のことを通知しますクライアントが応答を処理できる 転送エンコード方式と相対優先度
|
User-Agent |
httpクライアントプログラム情報 |
http応答ヘッダーフィールド
レスポンスヘッダーフィールド |
説明 |
Accept-Ranges |
バイト範囲リクエストを受け入れるかどうか |
Age |
リソース作成からの経過時間(秒単位) |
ETag |
リソースの一致情報により、クライアントにエンティティIDを通知できます |
Location |
クライアントを指定されたURI |
Proxy-Authenticate |
プロキシサーバーのクライアント認証情報 |
Retry-After |
リクエストを再開始するタイミングの要件 |
Server |
httpserverのインストールエーション情報 |
さまざま | プロキシサーバーがキャッシュする管理情報 |
WW-Authenicate |
サーバーからクライアントへの認証情報 |
httpエンティティヘッダーフィールド
エンティティヘッダーフィールド |
説明 |
httpによってサポートされる |
リソースを許可します Method |
Content-Encoding |
エンティティに適用可能なエンコード方式 |
Content-Language |
エンティティの自然言語 |
Content-Length |
エンティティのサイズ(バイト単位) |
Content-Location |
対応するリソース URI |
Content-MD5 |
エンティティ件名メッセージ概要 |
Content-Range | エンティティ本体の位置範囲
|
Content-Type |
エンティティ本体のメディアタイプ |
Expires |
エンティティ本体の有効期限が切れる日時 |
Last-Modified
|
リソースが最後に変更された日時 |
|
|
|
|
以上がHTTP メソッド、ステータス コード、およびコンポーネントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。