詳細なインタフェースのテストの基本

次の形式のHTTP URL(URLはURIの特殊なタイプです、十分な情報を見つけるためのリソースを含む):
HTTP://ホスト[「:」ポート] [腹筋_経路 ]
HTTPは、HTTPプロトコルを介して来ることを約束しましたネットワークリソースの位置を特定することと、ホストは、法律上のインターネットホストのドメイン名またはIPアドレスを持っています。ポートは、ポート番号を指定すると、デフォルトのポート80空で、資源の腹筋_経路指定されたリクエストURI、URLは腹筋_経路を与えられていない場合は、ときにそれを要求としてURIは、自動的に完了するために、私たちを助ける「/」フォーム、通常の仕事のブラウザにするとき与えられなければなりません。
EG:
。1は、入力:www.guet.edu.cn
:ブラウザが自動的に変換http://www.guet.edu.cn/
2、HTTP:192.168.0.116:8080 / index.jspを 

要求ライン、ヘッダーメッセージ、リクエストボディ:httpリクエストは、3つの部分、すなわち、から成り

図1は、本方法は、スペース、URIによって分離され、リクエストラインシンボルで始まり、要求されたバージョンは、次の形式に続くプロトコル:方法のRequest-URI HTTP-版 CRLF
メソッド要求メソッドを表す;のRequest-URIはユニフォームリソース識別子であります; HTTPバージョンは、HTTPプロトコルのバージョン要求を表し、CRLFはキャリッジリターンおよび改行を表し(添加の終了としてCRLFを、別個の文字CRまたはLFを許可しません)。

1.1 GET /form.html HTTP /(CRLF):例えば、サーバーにリソースを取得するにはGETメソッドを使用してWebブラウザにアクセスするための方法ブラウザのアドレスバーのURLを入力すると:メソッドをGET

POSTメソッドを使用してフォームを送信するために、バックリクエストに添付要求されたデータを受け入れるようにサーバーを必要とします。
例えば:POST /reg.jsp HTTP /(CRLF )

 

三、記事へのHTTPプロトコルの詳細レスポンス

    要求メッセージを受信し、解釈した後、サーバは、HTTPレスポンスメッセージを返します。

ステータスライン、メッセージヘッダ、応答体:HTTPレスポンスは、3つの部分、すなわち、で構成されている
:1、次の形式でステータス行
HTTP-版ステータスコード理由フレーズCRLF
HTTP-版サーバHTTPプロトコルのバージョンを示し、;ステータス理由-フレーズステータスコードのテキスト記述を表し; -code応答状態コードを返送するサーバを表します。
ステータスコードが定義されたカテゴリに応じて3つの数字、最初の数字があり、5つの可能な値がある:
1XX:指示情報は- 、要求が受信されたことを示す処理が続行
の2xxを:成功は- 、要求が正常に受信されたことを示し、理解受け入れ
の3xx: -リダイレクト要求を満たすためには、さらに一歩行かなければならない
の4xx:クライアントエラー-リクエストに構文エラーがありますか、要求を達成することはできない
の5xx:サーバー側のエラー-サーバーが正当な要求を達成するために失敗した
一般的なステータスコードを、状態の説明は、説明を:
200 OK //クライアントの要求が成功した
400不正な要求//クライアントが構文エラーを要求し、サーバーが理解することはできません
401 //不正な要求が許可されていない、ステータスコードは、WWW-Authenticateヘッダフィールドを使用しなければならない
403禁止/ /サーバがリクエストを受信しますが、サービスを提供することを拒否した
404が見つかりません//要求されたリソースは、例えば、存在しません:の間違って入力したURL
500内部サーバーエラー//サーバが予期しないエラーになる
503サーバー利用できない//サーバーが現在のクライアントを処理することができませんがリクエストは、一定期間後に正常に戻してもよいです
例:HTTP / 1.1 200 OK(CRLF)

 

リクエストヘッダ
リクエストヘッダは、それ自体とクライアントに関する要求された情報の追加情報をサーバーにクライアントを可能にします。
一般的なリクエストヘッダは
受け入れ
受け入れリクエストヘッダフィールドは、クライアントが受け入れられた情報の種類を指定するために使用されます。例えば:受け入れ:画像/ gif形式を、クライアントはリソースのGIF画像フォーマットを受信したいことを示し、受け入れ:text / htmlのを、クライアントはHTMLテキストを受け入れることを望んでいることを示しています。
文字セットは、受け入れ
文字セットリクエストヘッダフィールドは、クライアントによって受け入れられた文字セットを指定するために使用されて受け入れます。例えば:イソ:.-文字セットを受け入れ -8859-1、2312 このフィールドは要求メッセージに設定されていない場合は、デフォルトの文字セットは、任意の許容することができます。
受け入れ-encoding
受け入れエンコードリクエストヘッダフィールドは受け入れに似ているが、それはコンテンツのエンコードを指定するための許容されます。例:要求がメッセージサーバにこのフィールドを設定されていない場合にAccept-エンコーディング:. gzip.deflateを様々なコンテンツをエンコードするため、クライアントが許容されていることを前提としています。
言語受け入れる
受け入れに似たAccept-Languageリクエストヘッダフィールドは、自然言語を指定するために使用されます。例えば::.言語を受け入れZH -cn 要求はメッセージヘッダフィールドに設定されていない場合、サーバーは、クライアントがさまざまな言語を受け入れることができていることを前提としています。
認証
Authorizationリクエストヘッダフィールドは、主にクライアントがリソースを表示する権限を持っていることを証明するために使用されます。サーバ401(不正)の応答コードを受信した場合、ブラウザは、ページにアクセスするときに、それを検証するためにサーバを必要とする、要求承認リクエストヘッダフィールドに含ま送信することができます。
ホスト(送信要求、ヘッダフィールドは要求されます)
ホストリクエストヘッダフィールドは主に例えば、通常のHTTP URLから抽出された要求されたリソースのインターネットホストとポート番号を指定するために使用されます。
我々は、ブラウザで次のコマンドを入力します。http://www.guet.edu.cn/index .htmlの
ブラウザによって送信された要求メッセージ、次のように、ホスト要求ヘッダーフィールドが含まれます:
ホスト:www.guet.edu.cn
ポート番号が指定されている場合、本明細書にデフォルトのポート番号80を使用するが、その後、次のようになる。ホスト:www.guet.edu.cn:ポート番号の指定
のUser-Agentを
、我々はインターネットフォーラムを上陸させ、あなたは多くの場合、オペレーティングシステムの名前とバージョンを示していますいくつかのウェルカムメッセージ、あなたが使用しているブラウザの名前が表示されます多くの場合、多くの人々は非常に不思議な感じさせるのバージョンでは、実際には、要求情報にUser-Agentヘッダフィールドからサーバーアプリケーションを取得することです。User-Agentリクエストヘッダフィールドは、そのオペレーティングシステム、ブラウザにクライアントを可能にし、他の属性は、サーバーに指示します。しかし、ヘッダフィールドが必要とされていない、あなたはブラウザ自分自身を書いた場合、サーバは、私たちのメッセージを知ることができません、User-Agentリクエストヘッダフィールドを使用しないでください。

WWW認証応答ヘッダフィールドは401(不正な)応答メッセージに含まれなければならない場合、クライアントは401応答メッセージを受信したとき、およびAuthorizationヘッダフィールドの送信を検証するためにサーバに要求する、サーバの応答ヘッダは、ヘッダが含まれていますドメイン。
例えば:WWW認証:基本レルム 「!ベーシック認証テスト」= // サーバは要求されたリソース上で見ることができ、基本的な認証メカニズムを使用しています。

 

エンティティヘッダ
要求および応答メッセージは、一つのエンティティに送信することができます。エンティティヘッダフィールドによってエンティティ、およびエンティティ体組成が、一緒にするために、テキストを送信するために、エンティティヘッダフィールドとエンティティということを意味するものではありません、あなただけのエンティティヘッダフィールドを送ることができます。特定されたメタ情報リソース(例えばエンティティボディかどうか)と、要求:エンティティボディに定義されたエンティティヘッダ。
共通のエンティティヘッダ
のコンテンツをコードする
コンテンツ符号化エンティティヘッダフィールドはメディアタイプの修飾子として使用され、コードを表す値が参照Content-Typeヘッダフィールドを得ることが、追加コンテンツのエンティティボディに適用されていますメディアタイプは、対応する復号化機構を使用しなければなりません。このような文書を記録するためのコンテンツの符号化圧縮方法は、EGは:コンテンツ・エンコード:gzipの
コンテンツ言語
コンテンツ言語エンティティヘッダフィールドが使用自然言語リソースを記述する。設定されていないこのフィールドは、エンティティの内容が読み込まれたすべての言語に利用できるようになります考えられている
ことで。EG:コンテンツ言語:DA
コンテンツ長
進数のエンティティボディの長さを示すLengthヘッダフィールドを表すためにバイト単位で格納されているコンテンツ・エンティティ。
タイプコンテンツ
コンテンツ用語Typeヘッダフィールドはメディアタイプの受信側エンティティ本体にエンティティを示しています。EG:
コンテンツタイプ:テキスト/ HTML;のcharset = ISO-8859-1
のContent-Type:テキスト/ HTML;のcharset = GB2312
のLast-Modified
のLast-Modifiedエンティティヘッダフィールドリソースの最終更新日時表示のために。
有効期限
エンティティヘッダフィールドはレスポンスの期限が切れた日付と時間を与える有効期限。ページのプロキシサーバーまたはブラウザは、一定期間後にキャッシュを更新するために順序(アクセスしたときにページが、再び訪れキャッシュから直接ロード、応答時間の短縮やサーバーの負荷を軽減して)で、我々は、使用することができますページ指定されたエンティティヘッダフィールドを有効期限時間が期限切れ。EGは:有効期限:木、2006年9月15日午後4時23分12秒GMT
HTTP1.1クライアントとキャッシュの有効期限が切れていると考えられ(ゼロを含む)その他の違法な日付形式でなければなりませんが。例えば次のようにブラウザがページをキャッシュしないために、我々はまた、使用することができるためには、0に設定されたエンティティヘッダフィールド、JSPプログラムを有効期限:response.setDateHeaderを(「「有効期限」 0」);

おすすめ

転載: www.cnblogs.com/georgexu/p/11224081.html