HTTPはHyper Text Transfer Protocolの略です。この開発は、World Wide Web Consortium と Internet Engineering Task Force (IETF) の協力の成果であり、最終的には HTTP/1.0 バージョンを定義する一連の RFC 1945 をリリースしました。これらの中で最も有名なのは RFC 2616 です。 RFC 2616 は、現在一般的に使用されているバージョンである HTTP 1.1 を定義しています。
HTTPプロトコル(HyperText Transfer Protocol、ハイパーテキスト転送プロトコル)は、WWWサーバーからローカルブラウザにハイパーテキストを転送するために使用される転送プロトコルです。これにより、ブラウザの効率が向上し、ネットワーク送信が削減されます。これにより、コンピュータがハイパーテキスト ドキュメントを正確かつ迅速に送信することが保証されるだけでなく、ドキュメントのどの部分が送信されるか、コンテンツのどの部分が最初に表示されるか (グラフィックの前のテキストなど) なども決定されます。
HTTPは、データ(HTMLファイル、画像ファイル、クエリ結果など)を転送するためのTCP/IPに基づく通信プロトコルです。
HTTP は、リクエストとレスポンスで構成されるアプリケーション層プロトコルであり、標準的なクライアント/サーバー モデルです。
HTTP はステートレス プロトコルです。
![HTTP プロトコルの深い理解.jpg のアップロードに失敗しました。もう一度お試しください。]
これにより、HTTP プロトコルの使用が制限され、クライアントがリクエストを開始しない場合、サーバーはクライアントにメッセージをプッシュすることができなくなります。
HTTP プロトコルはステートレス プロトコルです。このリクエストと同じクライアントの以前のリクエストの間には対応関係がありません。
データベースのCRUD追加、削除、変更、確認操作に対応可能です:
HTTP/1.1 200 OK
200 は成功した応答を示し、次の OK は説明です。
戻り値が 200 ではない場合、多くの場合、次のような他の関数があります。
Content-Type: text/html
Content-Type は応答のコンテンツを示します。ここで text/html は HTML Web ページを表します。
ブラウザが Sina のホームページの HTML ソース コードを読み取ると、HTML を解析してページを表示し、HTML 内のさまざまなリンクに基づいて HTTP リクエストを Sina サーバーに送信します。対応する画像、ビデオ、Flash、JavaScript スクリプト、CSS、その他のリソースにリンクし、最終的に完全なページを表示します。
Sina のホームページに従って、HTTP リクエストのプロセスをまとめてみましょう:
メソッド: GETまたは POST、GET はリソースのみを要求します。POST にはユーザー データが伴います。
パス: /full/url/path;
ドメイン名: ホスト ヘッダーで指定: ホスト: www.sina.com
およびその他の関連ヘッダー。 POST の場合、リクエストにはユーザー データを含む本文も含まれます。
応答タイプ:
およびその他の関連ヘッダーで指定されます。には、応答のコンテンツが含まれる Body があり、Web ページの HTML ソース コードが Body に含まれます。
ステップ 3: ブラウザーが画像などの他のリソースをサーバーに要求し続ける必要がある場合は、別の HTTP 要求を作成し、ステップ 1 と 2 を繰り返します。
2.HTTP 形式
GET /path HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3
各ヘッダーは 1 行、改行文字は rn または os.linesep を使用します
HTTP POST リクエスト形式:
POST /path HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3
body data go here...
HTTP 応答形式:
200 OK
Header1: Value1
Header2: Value2
Header3: Value3
body データがここに入ります...
本文のデータ型は Content-Type ヘッダーによって決定されることに注意してください。Web ページの場合、本文は画像のバイナリ データです。
Content-Encoding が存在する場合、Body データは圧縮されています。そのため、Content-Encoding: gzip が表示された場合は、実際のデータを取得するために最初に Body データを解凍する必要があります。圧縮の目的は、ボディのサイズを削減し、ネットワーク伝送を高速化することです。
4Web静的サーバー
学習プロセス中に問題が発生した場合、または学習リソースを入手したい場合は、学習交換グループ
343599877 への参加を歓迎します。一緒にフロントエンドを学びましょう!
以上がWebサーバーの詳しい紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。