この記事では、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=/
リクエストデータを含むリクエスト情報であり、ユーザーがアップロードしたファイルの登録などでよく利用されます
リクエストラインのメッセージヘッダリクエストボディ
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 サイトの他の関連記事を参照してください。