ホームページ 運用・保守 安全性 HTTPプロトコルの詳しい説明

HTTPプロトコルの詳しい説明

Nov 29, 2019 am 10:08 AM
http プロトコル

HTTPプロトコルの詳しい説明

1. HTTP プロトコルの概要

http (ハイパーテキスト転送) プロトコルは、インターネット上で最も広く使用されているプロトコルです。インターネット: 主に Web サービスに使用されるネットワーク プロトコルで、HTML (Hypertext Markup Language) 形式のテキスト情報を処理するコンピュータによって実装されます。

2. Http プロトコル バージョン:

0.9 バージョン: HTML ページのみをサポート (削除されました);
バージョン1.0:
(1) マルチメディア メッセージの送信を可能にする MIME (MultiPurpose Internet Mail Extensions) メカニズムの導入;
(2) 永続リンク機能をサポートするキープアライブ メカニズムの導入 (ただし、この原則はキープアライブの機能はヘッダーに特定のフィールドを追加することで形成され、この機能はネイティブではサポートされていません);
(3) キャッシュされたページをサポートする機能の導入;
バージョン 1.1: バージョン 1.0 へのアップグレード、リクエスト接続モードのサポート、永続リンクの最適化、ページ キャッシュの最適化;
バージョン 2.0: http セマンティックに最適化された送信を提供し、spdy テクノロジーを追加します。 Spdy テクノロジ: Google によって導入されたテクノロジで、http データのやり取り、特に SSL アクセラレーション メカニズムの使用を高速化できます。一般に https プロトコルとして知られており、

は現在、インターネット、HTTP2.0バージョン。

3. 一般的な Web ページの種類:

静的ページ:

一般的なサフィックス 名前は:

  • テキスト: html、htm、txt、css、doc;

  • 画像: gif、jpg、png;

  • ビデオ: mp4、flv;

図に示すリクエスト プロセス:

HTTPプロトコルの詳しい説明

socket は、アプリケーション層とトランスポート層の間の抽象化層です。ソケットの本質はプログラミング インターフェイス (API) です。TCP/IP 層の複雑な操作を、アプリケーション層が呼び出すためのいくつかの単純なインターフェイスに抽象化します。ネットワーク上でプロセスを実現するには、中国通信が必要です。 TCP/IP は単なるプロトコル スタックであり、特別に実装する必要があり、ソケット インターフェイスである外部操作インターフェイス (API) も提供する必要があります。 Socket を通じて、TCP/IP プロトコルを使用できます。

①Web クライアントはソケットをカーネルに登録します;

②クライアントはブラウザを通じて Web サーバーにデータ要求を送信します;

③Web サーバーはクライアントの要求情報を受信します;

④クライアントによって要求されたリソースがサーバーに対してローカルである場合、http サービスは呼び出しのためにシステム カーネルに適用されます;

⑤カーネルはローカル ディスク内のデータを呼び出して、データをサーバーに送信します;

⑥http は応答メッセージを通じてユーザーが要求したリソースを送信し、最終的にクライアントに応答します;

特徴: 開発者によって事前に作成され、保存されます現在のファイル システムでは、応答速度が速く、ページのメンテナンスが面倒です。データの対話性が悪く、検索エンジンに含まれやすいです。

動的ページ:
一般的なサフィックス: php、jsp 、asp、net...

リクエスト プロセス:

HTTPプロトコルの詳しい説明

静的ページとの違いは、ユーザーが動的コンテンツをリクエストすると、http サーバーがバックエンド インタープリタを呼び出すと、バックエンド インタープリタがディスクからデータを取得し、インタープリタを介して実行されて html 形式のファイルが生成されます。次に、それは応答メッセージに構築され、最終的にクライアントの要求に応答します。

特徴: Web サーバー自体は動的ページの処理をサポートしておらず、それを完了するには特別なインタープリターが必要です、ページ データは変更可能、ページのメンテナンスは比較的簡単、応答速度は遅い、データはインタラクティブであり、ページにアクセスすると、特殊な記号が含まれていますか? 、%、& (特殊記号) は検索エンジンに含めることはできません;

疑似静的ページ: 動的ページを静的ページとして偽装し、検索エンジンに含めることでハードウェア リソースを消費します;

4. HTTP プロトコル メッセージ:

request メッセージ: client→server

クライアントはサーバーにリクエストを送信します。さまざまな Web サイトがさまざまなリソース (HTML ドキュメント) をリクエストするために使用されます。

リクエスト メッセージの形式:

HTTPプロトコルの詳しい説明

リクエスト ライン: 識別するために使用されます。クライアントが要求したリソース、リクエストメソッド、リクエストされたリソース、リクエストされたプロトコルは何ですか、それらは直接「スペース」で区切られています;

リクエストヘッダー : この機能は、クライアントに通知することです。クライアントによって要求された関連コンテンツを介してサーバーに送信されます (複数のヘッダーが存在する可能性があります)

空行: リクエスト ヘッダーの後に、キャリッジ リターン文字を送信することによって空行が追加されます。リクエスト ヘッダー情報が次のコンテンツに表示されなくなることをサーバーに通知するために使用される改行文字。

リクエスト エンティティ:リクエストされたページの具体的なコンテンツは何ですか

応答メッセージ (応答メッセージ): サーバー → クライアント

サーバーはクライアントの要求に応答します;

応答メッセージの形式:

HTTPプロトコルの詳しい説明

開始行: 応答で使用される http プロトコルのバージョン、応答ステータス コード、およびステータス コードの簡単な情報;

応答ヘッダー: リクエスト メッセージと同様に、通常、開始行の後にいくつかのヘッダー フィールドがあります。各ヘッダー フィールドには、コロンで区切られた名前と値が含まれており、1 つ以上を含めることができます。

空行: 最後の応答ヘッダー情報の後には空行があり、復帰文字と改行文字を送信することで、空行の下にヘッダー情報がないことがクライアントに通知されます。

応答エンティティ: ページに含まれるコンテンツに実際にアクセスします;

5、HTTP リクエスト メソッド

HTTP 通信プロセスでは、各 HTTP 要求メッセージに HTTP 要求メソッドが含まれます。このメソッドは、サーバーに特定の操作を実行するようクライアントに通知するために使用されます。

一般的な HTTP リクエスト メソッド: GET、POST、HEAD

HTTPプロトコルの詳しい説明

##6、HTTP ステータス コード#ステータス コードの概要:

HTTPプロトコルの詳しい説明一般的なステータス コードの説明:

HTTPプロトコルの詳しい説明上記のステータス コードの場合 該当するものがない場合情報が見つかった場合は、

HTTP ステータス コードの詳細

7 を参照してください。HTTP に関する事項には、HTTP リクエストと対応するリクエストに対する応答を HTTP トランザクションと呼びますが、HTTP トランザクションは HTTP リクエストと HTTP レスポンスの完全なプロセスであると理解することもできます。

HTTP プロトコルは、デフォルトで新しい接続を開いたり閉じたりするため、非常に時間がかかり、帯域幅が大量に消費されます。TCP のスロー スタート機能により、新しい接続自体のパフォーマンスがそれぞれ低下します。したがって、開くことができる並列接続の数の上限は制限されています。したがって、デフォルトで永続接続を使用しないよりも永続接続モードを使用した方が、リクエストや TCP 切断の処理にかかる時間が短縮されるという利点があります。

8. HTTP リソース リソースは HTTP プロトコルを通じて使用され、ユーザーがブラウザーまたはユーザー エージェントを通じてサーバーにメッセージを送信できるようにします。 http プロトコルに基づいて、HTML ドキュメントや画像などのコンテンツを要求および取得します。

リソース タイプ: MIME によってマークされます;

形式: メイン タグとこのタグ;

一般的な MIME タイプ:

HTTPプロトコルの詳しい説明

9. URL の紹介URL、正式名はUniform Resource Location、中国語訳はUniform Resource Locator、Webページアドレスとも呼ばれます( Webサイト)。番地と同様、インターネット上のリソースの標準的な一意のアドレスです。平たく言えば、URL はインターネット上の情報リソースを記述するために使用される文字列であり、主にさまざまな www クライアントおよびサーバー プログラムで使用されます。 URL は統一された形式を使用して、ファイル、サーバー アドレス、ディレクトリなどのさまざまな情報リソースを記述することができます。厳密に言えば、各 URL は URI であり、インターネット リソースを識別し、そのリソースを操作したりリソースを取得したりする方法を指定します。

URL の形式は、次の 3 つの部分で構成されます。

最初の部分はプロトコルです (例: http)。

2 番目の部分は、ホスト リソース サーバーの IP アドレスまたはドメイン名 (ポート番号) です。例: www.kgc.cn

3 番目の部分は、ホスト リソースの特定のアドレスです。ディレクトリやファイル名など。例: Teacher/index.html

最初の部分と 2 番目の部分は「://」記号で区切られ、2 番目の部分と 3 番目の部分は「/」記号で区切ります。 1 番目と 2 番目の部分は必須で、3 番目の部分は省略可能です

#10. URI の紹介##URI (Uniform Resource Identifier) と呼ばれます中国語の同じリソース識別子。インターネット リソースの名前を識別するために使用される文字列です。この識別により、ユーザーは特定のプロトコルを通じてリソースと対話できるようになります。 HTML ドキュメント、画像、ビデオ クリップ、プログラムなど、Web 上で利用可能なすべてのリソースは、ユニバーサル リソース ID によって検索されます。したがって、URI を使用して各リソースの名前を識別できます;

11. http はどのようにして複数のリクエストを同時に接続しますか

http のデフォルトは次のとおりです。ブロッキング モデルで動作すると、デフォルトでは一度に 1 つのリクエストのみが受信され、リクエストが処理された後に次のリクエストが受信されるため、1 つずつしか受信できません。

したがって、ユーザーのリクエストに同時に応答する必要があり、マルチプロセス モデルが必要になります。 Web サーバー自体は、ユーザーのリクエストに応答するために複数の子プロセスを生成します。つまり、ユーザーのリクエストが Web サーバーに送信されると、メインの Web プロセスはユーザーのリクエストに直接応答せず、子プロセスを生成します。このようにして、子プロセスがこのユーザーとの接続を確立した後に実行されます。 Web のメインプロセスは別のユーザーのリクエストを待ち、2 番目のユーザーのリクエストが来ると、2 番目のユーザーのリクエストに応答する子プロセスが生成されます。等々。したがって、すべてのユーザー要求は子プロセスによって処理されます。

CDN コンピュータ ルーム: CDN コンピュータ ルームは静的リソースの保存に使用されます

ユーザーがデータをリクエストしたい場合、Web サーバーにリクエストを送信し、それに応答します。クライアントが存在する場合、世界中の何億人もの人々がバックエンドサーバーにリクエストをした場合、バックエンドサーバーはそれを処理できず、アクセス速度が非常に遅くなります。 CDN, cdn としてのもの ページのコンテンツが保存されます。クライアントがページにアクセスすると、まず CDN コンピュータ ルームにアクセスします。CDN コンピュータ ルームにキャッシュがない場合は、ソースに戻り、そしてCDN のコピーをキャッシュしてクライアントに提示すると、次回アクセスするときにソースに戻る必要がなく、CDN 上で直接アクセスできるため、バックエンド サーバーへの負担が軽減されます。

関連記事チュートリアル: Web セキュリティ チュートリアル

以上がHTTPプロトコルの詳しい説明の詳細内容です。詳細については、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)

http ステータス コード 520 は何を意味しますか? http ステータス コード 520 は何を意味しますか? Oct 13, 2023 pm 03:11 PM

HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

httpステータスコード403とは何ですか? httpステータスコード403とは何ですか? Oct 07, 2023 pm 02:04 PM

HTTP ステータス コード 403 は、サーバーがクライアントの要求を拒否したことを意味します。 http ステータス コード 403 の解決策は次のとおりです: 1. 認証資格情報を確認します。サーバーが認証を必要とする場合は、正しい資格情報が提供されていることを確認します。2. IP アドレス制限を確認します。サーバーが IP アドレスを制限している場合は、クライアントの IP アドレスは制限されています。ホワイトリストに登録されているか、ブラックリストに登録されていません。3. ファイルのアクセス許可設定を確認します。403 ステータス コードがファイルまたはディレクトリのアクセス許可設定に関連している場合は、クライアントがこれらのファイルまたはディレクトリにアクセスするための十分なアクセス許可を持っていることを確認してください。等

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 Sep 12, 2023 pm 01:15 PM

クイック アプリケーション: PHP の実践的な開発ケース分析 複数ファイルの非同期 HTTP ダウンロード インターネットの発展に伴い、ファイル ダウンロード機能は多くの Web サイトやアプリケーションの基本的なニーズの 1 つになりました。複数のファイルを同時にダウンロードする必要があるシナリオでは、従来の同期ダウンロード方法は非効率的で時間がかかることがよくあります。このため、PHP を使用して HTTP 経由で複数のファイルを非同期にダウンロードするソリューションがますます一般的になってきています。この記事では、実際の開発事例を通して、PHP 非同期 HTTP の使用方法を詳しく分析します。

C# における一般的なネットワーク通信とセキュリティの問題と解決策 C# における一般的なネットワーク通信とセキュリティの問題と解決策 Oct 09, 2023 pm 09:21 PM

C# におけるネットワーク通信とセキュリティの一般的な問題と解決策 今日のインターネット時代では、ネットワーク通信はソフトウェア開発に不可欠な部分となっています。 C# では通常、データ送信のセキュリティ、ネットワーク接続の安定性など、ネットワーク通信の問題が発生します。この記事では、C# における一般的なネットワーク通信とセキュリティの問題について詳しく説明し、対応する解決策とコード例を提供します。 1. ネットワーク通信の問題 ネットワーク接続の中断: ネットワーク通信プロセス中に、ネットワーク接続が中断される場合があります。

httpリクエスト415エラーの解決策 httpリクエスト415エラーの解決策 Nov 14, 2023 am 10:49 AM

解決策: 1. リクエスト ヘッダーの Content-Type を確認する; 2. リクエスト本文のデータ形式を確認する; 3. 適切なエンコード形式を使用する; 4. 適切なリクエスト メソッドを使用する; 5. サーバー側のサポートを確認する。

HTTP 200 OK: 成功した応答の意味と目的を理解する HTTP 200 OK: 成功した応答の意味と目的を理解する Dec 26, 2023 am 10:25 AM

HTTP ステータス コード 200: 成功した応答の意味と目的を調べる HTTP ステータス コードは、サーバーの応答のステータスを示すために使用される数値コードです。このうち、ステータス コード 200 は、リクエストがサーバーによって正常に処理されたことを示します。この記事では、HTTP ステータス コード 200 の具体的な意味と使用法について説明します。まず、HTTP ステータス コードの分類を理解しましょう。ステータス コードは、1xx、2xx、3xx、4xx、5xx の 5 つのカテゴリに分類されます。このうち、2xx は成功応答を示します。 200 は 2xx で最も一般的なステータス コードです

See all articles