HTTPプロトコルとは何ですか

一个新手
一个新手オリジナル
2017-09-19 10:06:094205ブラウズ

HTTP プロトコルの簡単な紹介

HTTP プロトコルは、データ送信用の TCP/IP 通信プロトコルに基づいたハイパーテキスト転送プロトコルです

特徴:
1. クライアントがサーバーへのリクエストを開始するとき、シンプルかつ高速です。 、トランスポートリクエストのメソッドとパスだけです。一般的に使用されるリクエスト メソッドには、POST、GET などが含まれます。各メソッドは、クライアントとサーバー間の異なるタイプの接続を指定します。 HTTP プロトコルは単純なので、通信速度が速い
2. 柔軟性: あらゆる種類のデータ オブジェクトを送信できます。送信タイプは Content-Type によってマークされます
3. 接続なし: 各接続が 1 つのリクエストのみを処理するように制限します。サーバーはクライアントのリクエストを処理した後、クライアントの応答を受信した後に切断されます。
4. ステートレス: HTTP はステートレス プロトコルです。ステートレスとは、プロトコルにトランザクション処理用のメモリ容量がないことを意味します。ステータスがないということは、前の情報が後続の処理に必要な場合に再送信する必要があることを意味し、これにより接続ごとに送信されるデータ量が増加する可能性があります。一方、サーバーが他の情報を必要としない場合、その応答は次のようになります。非常に高速です
5. B/S および C/S モードをサポートします

URL

URL は、データを送信し、接続を確立するために HTTP によって使用される統一リソース識別子です。 URL は特別な種類の URI であり、完全名はUniformResourceLocator、中国語名はUniform Resource Locatorです。 URL には次の部分が含まれます:
例: https://baike.baidu.com:8080/item/url/ 110640?fr =aladdin
1. プロトコル/モード部分: 開かれるファイルの処理方法をブラウザーに指示します。最も一般的に使用されるモードは、インターネットへのアクセスに使用されるハイパーテキスト転送プロトコル (HTTP) です。その他の規約は以下の通りです
http——ハイパーテキスト転送プロトコル リソース
https - Secure Sockets Layer を使用して配信されるハイパーテキスト転送プロトコル
FTP - ファイル転送プロトコル
mailto—メールアドレス
ldap - ライトウェイト ディレクトリ アクセス プロトコル検索
ファイル - ローカルコンピューターまたはオンラインで共有されているファイル
ニュース——Usenet ニュース グループ
gopher——Gopher プロトコル
telnet - Telnet プロトコル
上記の例では、プロトコル部分は https です
2. ドメイン名部分: 上記のドメイン名は次のとおりです: baike.baidu.com
3. ドメイン名の後に続くのはポート番号です。ポートは URL の必須部分ではありません。ポート番号が省略された場合は、デフォルトのポートが使用されます: /item/url/110640
5.パラメータ部分: fr=aladdin、つまり疑問符 次の

Request

HTTP リクエスト メッセージ リクエストは主に次の部分で構成されます。
* リクエスト ライン: リクエスト メソッド URL | リクエスト ヘッダー:リクエスト ヘッダーには、関連するクライアント環境とリクエストが多数含まれています。 本文には役立つ情報が含まれています。
* リクエスト ヘッダーとリクエスト本文の間には空白行があります。 この行は、リクエスト ヘッダーが終了していることを示します。以下はリクエスト本文です。リクエスト本文には、顧客によって送信されたクエリ文字列情報を含めることができます

Response

HTTP 応答メッセージ 応答は次の部分で構成されます:

* ステータス行: プロトコル バージョン ステータス コード ステータス メッセージ

* 応答ヘッダー: 日付、コンテンツ タイプ、など。
* 応答テキスト: サーバー側の戻りデータ

ステータス コード

ステータス コードは 3 桁で構成され、最初の数字は応答のカテゴリを定義します

* 1xx: 要求が受信されたことを示す指示メッセージ、処理を続行します

* 2xx: 成功、リクエストが正常に受信されたことを示します
* 3xx: リダイレクト、リクエストが夜間にさらに処理される必要があることを示します
* 4xx: クライアント エラー、リクエストに構文エラーがあるか、リクエストを実行できないことを示します
* 5xx: サーバー エラー。サーバーが正当なリクエストの実装に失敗したことを示します

一般的なステータス コード:

200 - ok - 请求成功400 - Bad Request - 客户端请求有语法错误,不能被服务器理解401 - Unauthorized - 请求未经授权403 - Forbidden - 服务器收到请求,但是拒绝提供服务404 - Not Found - 请求资源不存在500 - Internal Server Error - 内部服务器错误503 - Server Unavaliable - 服务器不可用

リクエスト メソッド

HTTP 1.0 定义了三种请求方法 :GET、POST、HEAD
HTTP 1.1 新增了五种请求方法 :OPTIONS、PUT、DELETE、TRACE、CONNECT
GET - 请求指定的页面信息,并返回实体主体
HEAD - 类似于GET请求,但是返回的只有报头
POST - 向指定的资源提交数据进行处理请求
PUT - 从客户端向服务器传送的数据取代指定文件的内容DELETE - 请求服务器删除指定的页面
CONNECT - HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。OPTIONS - 允许客户端查看服务器性能
TRACE - 回显服务器收到的请求,主要用于测试或诊断。

GET と POST の違い

    データ送信: GET リクエスト データは&sign接続を使用してURLの後に配置されますが、POSTリクエストデータはHTTPパッケージ内に配置されます
  1. 送信データサイズ:一般的なブラウザではURLの長さに制限があるため、GETを使用してデータをリクエストすると、サイズ制限を受け取りますが、POST はデータをパッケージに入れます。つまり、サイズ制限はありません
  2. セキュリティ: GET は URL でデータを送信し、データを返すためにキャッシュできます
  3. 注:
1. HTTP プロトコルは送信データのサイズを制限せず、HTTP プロトコル仕様は URL の長さを制限しません。

2. HTTP の GET、POST、および SOAP プロトコルはすべて http 上で実行されます

(1) GET: リクエスト パラメーターはキーと値のペア (クエリ文字列) のシーケンスとして URL に追加されます

クエリ文字列の長さは次のように制限されます。 Web ブラウザーや Web サーバー (IE は最大 2048 文字をサポート) をサポートしますが、これは大規模なデータセットの送信には適していません。同時に、非常に安全ではありません

(2) POST: リクエスト パラメーターは http ヘッダーの別の部分 (名前付きエンティティ本体) で送信されます。この部分はフォーム情報の送信に使用されるため、Content-type は application/x-www-form に設定する必要があります。 - URLコード化されています。 Post は Web フォーム上のユーザー フィールドをサポートするように設計されており、そのパラメーターもキーと値のペアとして送信されます。
ただし、post はデータ構造を送信するためのセマンティクスとルールを定義していないため、複雑なデータ型はサポートしていません。

(3) SOAP: これは、特別な XML メッセージ形式に従っている、http ポストの専用バージョンです。
Content-type は次のように設定されます: text/xml 任意のデータを XML 化できます。

HTTP プロトコルは、サーバーと対話するための多くのメソッドを定義します。その中で最も基本的なものは、ネットワーク上のリソースを記述するために使用される GET、POST、PUT、および DELETE です。このリソースの確認、変更、追加、削除の 4 つの操作に対応します。 最も一般的なものは GET と POST です。 GET は通常、リソース情報の取得/クエリに使用され、POST は通常、リソース情報の更新に使用されます。

以上がHTTPプロトコルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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