目次
1. HTTPプロトコルの紹介
2.httpプロトコル解析
1.ブラウザリクエスト
3. ブラウザの解析プロセス
3. 概要
1. HTTP リクエストのプロセス
ステップ 1: リクエストには次のものが含まれます:
Web で採用されている HTTP プロトコルは、非常にシンプルなリクエスト/レスポンス モデルを採用しており、開発が大幅に簡素化されています。ページを作成するときは、HTTP リクエストで HTML を送信するだけでよく、写真やビデオなどを添付する方法を考慮する必要はありません。ブラウザは写真やビデオをリクエストする必要がある場合、別の HTTP リクエストを送信します。したがって、HTTP リクエストは 1 つのリソースのみを処理します (これは、TCP プロトコルの短い接続として理解できます。各リンクは 1 つのリソースのみを取得します。さらに必要な場合は、複数のリンクを確立する必要があります)
1. 固定ページを表示します

Webサーバーの詳しい紹介

Jun 21, 2017 am 10:58 AM
web サーバ

1. HTTPプロトコルの紹介

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 プロトコルの使用が制限され、クライアントがリクエストを開始しない場合、サーバーはクライアントにメッセージをプッシュすることができなくなります。
HTTP プロトコルはステートレス プロトコルです。このリクエストと同じクライアントの以前のリクエストの間には対応関係がありません。

2.httpプロトコル解析

1.ブラウザリクエスト


httpリクエストメソッド

データベースのCRUD追加、削除、変更、確認操作に対応可能です:

  1. CREATE:PUT

  2. READ: GET

  3. UPDATE: POST

  4. DELETE: DELETE

2. サーバー応答

HTTP 応答は、ヘッダーと本文 (本文はオプション) の 2 つの部分に分かれています。ヘッダーの最も重要な行は次のとおりです:

HTTP/1.1 200 OK
200 は成功した応答を示し、次の OK は説明です。
戻り値が 200 ではない場合、多くの場合、次のような他の関数があります。

  • 失敗した応答には、404 Not Found: Web ページが存在しません

  • 500 Internal Server Error: サーバーに内部エラーがあります。

  • ...etc. お待ちください...

HTTPステータスコード.jpg


Content-Type: text/html
Content-Type は応答のコンテンツを示します。ここで text/html は HTML Web ページを表します。

3. ブラウザの解析プロセス

ブラウザが Sina のホームページの HTML ソース コードを読み取ると、HTML を解析してページを表示し、HTML 内のさまざまなリンクに基づいて HTTP リクエストを Sina サーバーに送信します。対応する画像、ビデオ、Flash、JavaScript スクリプト、CSS、その他のリソースにリンクし、最終的に完全なページを表示します。

3. 概要

1. HTTP リクエストのプロセス

Sina のホームページに従って、HTTP リクエストのプロセスをまとめてみましょう:

ステップ 1: リクエストには次のものが含まれます:

メソッド: GETまたは POST、GET はリソースのみを要求します。POST にはユーザー データが伴います。
パス: /full/url/path;
ドメイン名: ホスト ヘッダーで指定: ホスト: www.sina.com
およびその他の関連ヘッダー。 POST の場合、リクエストにはユーザー データを含む本文も含まれます。

ステップ 2: サーバーはブラウザに HTTP 応答を返します。応答には次のものが含まれます。
応答コード: 200 は成功を示し、3xx はリダイレクトを示し、4xx はリダイレクトを示します。クライアントから送信されたリクエストにエラーがあること、5xx はサーバー側の処理中にエラーが発生したことを示します。

応答タイプ:
およびその他の関連ヘッダーで指定されます。には、応答のコンテンツが含まれる Body があり、Web ページの HTML ソース コードが Body に含まれます。

ステップ 3: ブラウザーが画像などの他のリソースをサーバーに要求し続ける必要がある場合は、別の HTTP 要求を作成し、ステップ 1 と 2 を繰り返します。

Web で採用されている HTTP プロトコルは、非常にシンプルなリクエスト/レスポンス モデルを採用しており、開発が大幅に簡素化されています。ページを作成するときは、HTTP リクエストで HTML を送信するだけでよく、写真やビデオなどを添付する方法を考慮する必要はありません。ブラウザは写真やビデオをリクエストする必要がある場合、別の HTTP リクエストを送信します。したがって、HTTP リクエストは 1 つのリソースのみを処理します (これは、TCP プロトコルの短い接続として理解できます。各リンクは 1 つのリソースのみを取得します。さらに必要な場合は、複数のリンクを確立する必要があります)
HTTP プロトコルには強力な機能もありますスケーラビリティ ブラウザはホームページを要求しますが、Sina は HTML で他のサーバーからリソースをリンクできます。 - orient/strip%7CimageView2/2/w/1240) を使用して、リクエストの圧力をさまざまなサーバーに分散し、1 つのサイトを他のサイトにリンクしたり、無数のサイトが相互にリンクして World Wide Web を形成します。 WWWとして。


2.HTTP 形式

クライアント要求情報
サーバー応答メッセージ
    各 HTTP 要求と応答には、ヘッダーと本文の 2 つの部分が含まれており、本文は同じ形式に従います。はオプションです。
  • HTTPプロトコルはテキストプロトコルなので、その形式も非常にシンプルです。
  • HTTP GET リクエスト形式:

    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...

    2 つの連続した rn に遭遇すると、Header 部分が終了し、後続のデータはすべて Body になります。

    HTTP 応答形式:
    200 OK
    Header1: Value1
    Header2: Value2
    Header3: Value3

    body データがここに入ります...

    HTTP 応答に body が含まれる場合、それも rnrn で区切られます。

    本文のデータ型は Content-Type ヘッダーによって決定されることに注意してください。Web ページの場合、本文は画像のバイナリ データです。
    Content-Encoding が存在する場合、Body データは圧縮されています。そのため、Content-Encoding: gzip が表示された場合は、実際のデータを取得するために最初に Body データを解凍する必要があります。圧縮の目的は、ボディのサイズを削減し、ネットワーク伝送を高速化することです。

    4Web静的サーバー

    1. 固定ページを表示します

  • クライアントブラウザページを表示します
2. 必要なページを表示します

クライアントブラウザbiye.html ページ


学習プロセス中に問題が発生した場合、または学習リソースを入手したい場合は、学習交換グループ
343599877 への参加を歓迎します。一緒にフロントエンドを学びましょう!

以上がWebサーバーの詳しい紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

eMule検索がサーバーに接続できない問題の解決方法 eMule検索がサーバーに接続できない問題の解決方法 Jan 25, 2024 pm 02:45 PM

解決策: 1. eMule の設定をチェックして、正しいサーバー アドレスとポート番号が入力されていることを確認します; 2. ネットワーク接続を確認し、コンピューターがインターネットに接続されていることを確認し、ルーターをリセットします; 3. サーバーが正常に動作しているかどうかを確認します。ネットワーク接続に問題がない場合は、サーバーがオンラインであるかどうかを確認する必要があります; 4. eMule のバージョンを更新し、eMule 公式 Web サイトにアクセスし、eMule ソフトウェアの最新バージョンをダウンロードします。 5.助けを求めてください。

RPC サーバーに接続できない、およびデスクトップに入れない場合の解決策 RPC サーバーに接続できない、およびデスクトップに入れない場合の解決策 Feb 18, 2024 am 10:34 AM

RPC サーバーが利用できず、デスクトップからアクセスできない場合はどうすればよいですか? 近年、コンピューターとインターネットが私たちの生活の隅々に浸透しています。集中コンピューティングとリソース共有のテクノロジーとして、リモート プロシージャ コール (RPC) はネットワーク通信において重要な役割を果たします。ただし、場合によっては、RPC サーバーが利用できなくなり、デスクトップにアクセスできなくなる状況が発生することがあります。この記事では、この問題の考えられる原因のいくつかについて説明し、解決策を提供します。まず、RPC サーバーが使用できない理由を理解する必要があります。 RPCサーバーは、

CentOSインストールヒューズとCentOSインストールサーバーの詳細説明 CentOSインストールヒューズとCentOSインストールサーバーの詳細説明 Feb 13, 2024 pm 08:40 PM

LINUX ユーザーとして、CentOS にさまざまなソフトウェアやサーバーをインストールする必要があることがよくありますが、この記事では、CentOS に Fuse をインストールしてサーバーをセットアップする方法を詳しく紹介し、関連する作業をスムーズに完了できるようにします。 CentOS のインストールfusionFuse は、権限のないユーザーがカスタマイズされたファイル システムを通じてファイル システムにアクセスして操作できるようにするユーザー スペース ファイル システム フレームワークです。CentOS への Fuse のインストールは非常に簡単で、次の手順に従うだけです: 1. ターミナルを開き、次のようにログインします。ルートユーザー。 2. 次のコマンドを使用して、fuse パッケージをインストールします: ```yuminstallfuse3。インストール プロセス中のプロンプトを確認し、「y」を入力して続行します。 4. インストール完了

Dnsmasq を DHCP リレー サーバーとして構成する方法 Dnsmasq を DHCP リレー サーバーとして構成する方法 Mar 21, 2024 am 08:50 AM

DHCP リレーの役割は、2 つのサーバーが異なるサブネット上にある場合でも、受信した DHCP パケットをネットワーク上の別の DHCP サーバーに転送することです。 DHCP リレーを使用すると、ネットワーク センターに集中 DHCP サーバーを展開し、それを使用してすべてのネットワーク サブネット/VLAN に IP アドレスを動的に割り当てることができます。 Dnsmasq は、一般的に使用される DNS および DHCP プロトコル サーバーであり、ネットワーク内の動的ホスト構成の管理を支援する DHCP リレー サーバーとして構成できます。この記事では、dnsmasq を DHCP リレー サーバーとして構成する方法を説明します。コンテンツ トピック: ネットワーク トポロジ DHCP リレー上の静的 IP アドレスの構成 集中型 DHCP サーバー上の DHCP リレー D

PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド Mar 11, 2024 am 08:36 AM

ネットワーク データ転送において、IP プロキシ サーバーは重要な役割を果たし、ユーザーが実際の IP アドレスを隠し、プライバシーを保護し、アクセス速度を向上させるのに役立ちます。この記事では、PHP を使用して IP プロキシ サーバーを構築する方法に関するベスト プラクティス ガイドを紹介し、具体的なコード例を示します。 IPプロキシサーバーとは何ですか? IP プロキシ サーバーは、ユーザーとターゲット サーバーの間にある中間サーバーであり、ユーザーとターゲット サーバー間の転送ステーションとして機能し、ユーザーのリクエストと応答を転送します。 IPプロキシサーバーを使用する場合

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Mar 13, 2024 pm 04:40 PM

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか?この問題は多くの友人が経験しているはずです。このプロンプトが表示されると、正規のゲームが起動できなくなります。この問題は通常、ネットワークやセキュリティ ソフトウェアからの干渉によって引き起こされます。では、どのように解決すればよいでしょうか?今回の編集者が説明します。解決策を皆さんと共有したいと思います。今日のソフトウェア チュートリアルが問題の解決に役立つことを願っています。オフライン時に epic サーバーがゲームに参加できない場合の対処方法: 1. セキュリティ ソフトウェアによって妨害されている可能性があります。ゲーム プラットフォームとセキュリティ ソフトウェアを閉じて、再起動します。 2. 2 つ目は、ネットワークの変動が大きすぎることです。ルーターを再起動して機能するかどうかを確認してください。状態に問題がない場合は、5G モバイル ネットワークを使用して動作を試みることができます。 3. それならもっとあるかもしれない

PHP FFmpeg 拡張機能をサーバーにインストールするにはどうすればよいですか? PHP FFmpeg 拡張機能をサーバーにインストールするにはどうすればよいですか? Mar 28, 2024 pm 02:39 PM

PHPFFmpeg拡張機能をサーバーにインストールするにはどうすればよいですか? PHPFFmpeg 拡張機能をサーバーにインストールすると、PHP プロジェクトでオーディオ ファイルとビデオ ファイルを処理し、オーディオ ファイルとビデオ ファイルのエンコード、デコード、編集、処理などの機能を実装できます。この記事では、PHPFFmpeg 拡張機能をサーバーにインストールする方法と、具体的なコード例を紹介します。まず、PHP と FFmpeg がサーバーにインストールされていることを確認する必要があります。 FFmpeg がインストールされていない場合は、以下の手順に従って FFmpe をインストールできます。

コックピット Web UI から管理アクセスを有効にする方法 コックピット Web UI から管理アクセスを有効にする方法 Mar 20, 2024 pm 06:56 PM

Cockpit は、Linux サーバー用の Web ベースのグラフィカル インターフェイスです。これは主に、初心者/熟練ユーザーにとって Linux サーバーの管理を容易にすることを目的としています。この記事では、Cockpit アクセス モードと、CockpitWebUI から Cockpit への管理アクセスを切り替える方法について説明します。コンテンツ トピック: コックピット エントリ モード 現在のコックピット アクセス モードの確認 CockpitWebUI からコックピットへの管理アクセスを有効にする CockpitWebUI からコックピットへの管理アクセスを無効にする まとめ コックピット エントリ モード コックピットには 2 つのアクセス モードがあります。 制限付きアクセス: これは、コックピット アクセス モードのデフォルトです。このアクセス モードでは、コックピットから Web ユーザーにアクセスできません。

See all articles