ホームページ >バックエンド開発 >PHPチュートリアル >PHP http プロトコルのポストリクエストパラメータに関する関連情報の概要

PHP http プロトコルのポストリクエストパラメータに関する関連情報の概要

伊谢尔伦
伊谢尔伦オリジナル
2017-07-03 11:37:501964ブラウズ

この記事では、PHP における Http プロトコルのポストリクエストパラメーターについて紹介します。具体的な内容は次のとおりです。

WEB 開発における情報処理は基本的に POST と GET で行われますリクエストとレスポンス は直感的です。 URL に基づく方法は理解するのは簡単ですが、POST リクエストの情報が隠されているため、安全ではあるものの、送信をシミュレートするのに開発者にとっては困難も伴います。次のいくつかのブログ投稿では、私自身のメモと理解を組み合わせて、PHP で POST リクエストを行ういくつかの方法を詳しく説明します。間違いがある場合は、修正してください。

HTTPプロトコル情報はWEB開発において重要な内容であり、それを理解することでBSインタラクションをより深く理解することができ、WEB開発をより低いレベルから理解することにも役立ちます。 HTTP プロトコルは、シンプル、柔軟、便利な通信プロトコルです。HTTP プロトコルはステートレス プロトコル、つまりメモリレス プロトコルであり、各対話は個別であることに注意してください。

ブラウザの開発ツール(IEのF12、FirefoxのFireBugなど)の「ネットワーク」パネルを使用して、HTTPヘッダー情報を表示できます。

一般的にHTTPヘッダー情報はリクエスト情報、レスポンス情報、インタラクション情報の3つに分類されます(個人的にはこれもリクエスト情報の一種だと思っています)。

1. リクエスト情報:

Web サイトにアクセスすると、クライアントはリクエスト情報を送信します。この情報にはデータは含まれません。サーバーに応答情報を返すよう要求するだけです。

フォーマットはリクエストラインとメッセージヘッダーの2つの部分で構成されます。

A.リクエストライン:メソッド(リクエストメソッド)パス(リクエストサイトアドレス)HTTP/バージョン(プロトコル/バージョン情報)

一般的なリクエストメソッドにはGET/POST/HEAD/OPTIONなどが含まれます

B. header :

Host (required): ホストとポート番号、ポート番号のデフォルトは80です

Accept: 受信されることが期待されるコンテンツタイプ(image/gif text/html */*)

Accept-Encoding: 圧縮受信が期待されるタイプ (gzip de flat)

Accept-Charset: 受信が期待される文字セット (utf-8)

Accept-Language (zh-CN)

Cookie: ユーザーの Cookie 情報

Connection: 接続制御

ユーザーエージェント: クライアント情報

... ...

以下は典型的なリクエストヘッダー情報です:

GET  index.php  HTTP/1.1
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:SOHUHOMETAB=visit:2; IPLOC=CN1407; SUV=1510312046259910
Host:www.sohu.com
If-Modified-Since:Sat, 31 Oct 2015 12:45:22 GMT
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36

2、応答情報

サーバーはデータを返します

応答情報は 3 つの部分に分かれています: ステータスライン メッセージヘッダー レスポンスボディ

A. ステータスライン: HTTP/version (プロトコル/バージョン情報) ステータスコード ステータステキスト (ステータスコードのテキスト説明)

ステータスコードには 5 つのカテゴリがあります:

1XX: を示します。一時的な応答であり、リクエスターは操作を継続する必要があります

2XX: 応答が成功し、サーバーがリクエストに正常に応答したことを示します

3XX: リダイレクトを示し、リクエスターによるさらなる操作が必要であることを示します

4XX: クライアントエラーを示し、サーバーが正常に応答できません

5XX:サーバー側のエラーを示し、サーバーが正常に応答できません

応答具体的な情報については、

HTTPステータスコード

詳細な説明

Bを参照してください。 Server: サーバー情報

Content-Encoding: データ圧縮形式

Content-Length: データ長

Content-Type: データ型

Cache-Control: キャッシュ制御

Connection: 接続制御

Date: 日付情報

Expires: データの有効期限情報を返します

Last-Modified: 最終変更時刻を返します

Set-Cookie: クライアントの Cookie 情報を設定します

... ...

C.つまり、返されるページ データは、ページ上の HTML ドキュメントの形式で表現されます。

以下は一般的なレスポンスメッセージです

HTTP/1.1 200 OK

Cache-Control:no-cache
Connection:close
Content-Encoding:gzip
Content-Length:6947
Content-Type:text/html; charset=GBK
Date:Sat, 31 Oct 2015 13:30:11 GMT
Expires:-1
Pragma:no-cache
Proxy-Connection:keep-alive
Server:nginx/1.2.5
Set-Cookie:JSESSIONID=yiuug4yejhc1cdbzydoxlcpn;Path=/

3、インタラクション情報

リクエストデータを含むリクエスト情報であり、ユーザーがアップロードしたファイルの登録などでよく利用されます

リクエストラインのメッセージヘッダリクエストボディ

A.リクエスト情報のリクエストラインと同じ

B.リクエストヘッダを元にリクエストボディに関するデータが追加されます

Content-Type:コンテンツタイプ。アップロードされた情報の長さ

Content-Length: アップロードされた情報の長さ

... ...

C. リクエストテキスト:

つまり、リクエストされた特定のデータ文字列 (name=xxx&passwork=xxx)。もちろん、セキュリティ上の理由から、POST 情報は暗号化およびエンコードされる場合があります。

以下は典型的なリクエスト メッセージです:

GET  login.php  HTTP/1.1
Host:passport.sohu.com
Accept:text/html,application/xhtml+xml,application/xml
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:166
Content-Type:application/x-www-form-urlencoded
Referer:http://mail.sohu.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
Form Data
domain=sohu.com&callback=passport20008375022711697966_cb1446298206568&appid=1113&userid=FDFFDF%40sohu.com&password=a3f4384c2bc44fa909ffd0ecc5fa8eb9&persistentcookie=0

ブラウザがサーバーに送信する内容を理解すれば、他の方法を使用してサーバーのふりをすることは難しくありません。

以上がPHP http プロトコルのポストリクエストパラメータに関する関連情報の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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