HTTPプロトコル

WBOY
WBOYオリジナル
2016-10-15 10:32:021315ブラウズ

1. HTTPプロトコルの概要

1.HTTPとは何ですか?ハイパーテキスト転送プロトコル。
2. クライアント側とサーバー側のデータ標準について説明します。このプロトコルは W3C によって維持および管理されます。
バージョン:
HTTP1.0: リクエストが行われるたびにネットワーク接続を確立する必要があります
HTTP1.1: (主流) 1つのネットワーク接続で複数のリクエストが発行され、複数のレスポンスが取得されます。あと数頭。

3. 明確さ: ブラウザは次のタグに遭遇すると自動的にリクエストを発行します


2. HTTPプロトコルの構成

1.リクエスト部分

2. 応答部分

3.リクエスト部分の詳細説明

1.リクエストライン:
GET /app1/1.html HTTP/1.1
GET:リクエストメソッド。
よく使われるリクエストメソッド:GET(デフォルト)、POST、HEAD、OPTIONSなど
GET:デフォルト
http://localhost:8080/app1/1.html?username=abc&password=123
送信されたデータが表示されます、比較的安全ではなく、プロトコルの最初の行には長​​さの制限があり、<1kb.
(データをリクエストする場合に推奨) POST:


username=abc&password=123
データはリクエスト本文に含まれており、比較的安全であり、長さに制限はありません。

/app1/1.html: 要求されたリソースのアドレス。 (URI)
URL: プロトコル + ホスト: ポート + リソースアドレス
http://localhost:8080/app1/1.html

HTTP/1.1: クライアントのブラウザが使用するプロトコルのバージョン。

2. リクエストメッセージヘッダー:(よく使われるヘッダーをメモして覚えておいてください)
機能:追加情報(暗号化命令)をサーバーに転送します
Accept:クライアントが受け入れ可能なデータタイプ(MIMEタイプ)をサーバーに通知します
ファイルシステム: さまざまなファイルをファイル拡張子によって区別します。 txt jpeg
MIMEタイプ:大きいタイプ/小さいタイプ。 txt--->text/plain html---->text/html js---->text/javascript (具体的な対応: Tomcatconfweb.xml)
Accept-Encoding: クライアントが受け入れられることをサーバーに通知しますそれは圧縮エンコードです。例: gzip
Accept-Language: クライアントがサポートする言語をサーバーに通知します。
リファラー: どのページから来たのかをサーバーに伝えます。

機能: 広告効果の統計。ホットリンクを防止します。
Content-Type: リクエスト本文の MIME タイプをサーバーに通知します
デフォルトのタイプ: application/x-www-form-urlencoded (form enctype 属性のデフォルト値)
具体的な実施形態: username=abc&password=123
その他タイプ: multipart/ form-data (ファイルのアップロード時に使用)
If-Modified-Since: 現在アクセスされているリソースとキャッシュ内のファイルの最終変更時刻をサーバーに通知します。
User-Agent: ブラウザの種類をサーバーに通知します
Content-Length: リクエストボディのデータ長
Cookie: (*****重要) セッション管理関連

3. リクエストテキスト:
サーバーにデータを送信するには、フォームの入力フィールドに name 属性値が必要です
POST リクエストの場合のみテキストを含めることができます
username=abc&password=123

4. レスポンス部分の詳細説明

1.レスポンス部分の詳細説明
レスポンスライン:
HTTP/1.1 200 OK
HTTP/1.1:サーバーが使用するプロトコルバージョンを記述する
200:レスポンスステータスコード
1xx 2xx 3xx 4xx 5xx
2xx:処理済み
4xx : リクエストは利用可能です Error
5xx: サーバーエラー
よく使われるレスポンスコードを覚えておいてください:
200: すべて正常です
302/307: リダイレクトのリクエスト
304: サーバー上のリソースは変更されていません
404: アクセスされたアドレス存在しません
50 0: サーバーターミナルエラー
OK: 説明

2. レスポンスヘッダ:
機能: サーバーからクライアントに渡される追加情報(秘密コマンド)
場所: 訪問先のアドレスをクライアントに通知します。
302/307でリクエストリダイレクトを実装します
Content-Encoding: レスポンスボディで使用される圧縮エンコーディング(gzip)をクライアントに通知します
Content-Length: レスポンスボディの長さをクライアントに通知します
Content-Type:応答本文のクライアント テキストの MIME タイプ。デフォルトの text/html
Refresh: 定期的に更新するようにクライアントに通知します
Content-Disposition: ダウンロードして開くようにクライアントに通知します
Attachment; filename=23.jpg
Set-Cookie: (*****) セッション関連
有効期限が切れます: -1 で時間を制御します


Cache-Control: no-cache (1.1)
Pragma: no-cache (1.0)
3 つのヘッダーは、ブラウザーにキャッシュしないように指示するために一緒に使用されます。


3. 応答テキスト:
ブラウザによって解析されたテキストの内容は、右クリックしてソースコードを表示するのと同じです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。