Ajaxを使ってリソースと表現の識別

リソースと表現の識別RESTの表現からは、リソースの分離を促進する。イラスト目的のための歴史的な株式相場の例を介して作業できます。 URLは、歴史的な相場の情報を取得するために使用されて/ services/historical/AMZN/2006。デフォルトの書式は、Webサービスによって生成されたCSVファイルですが、デフォルトと同様に簡単にXMLやはJavaScript Object Notation(JSON)はされていることができます。場合は、クライアントのみの場合、CSVファイルからJSONへの変換をJSONを受け入れることができる余分なステップと余分なリソースが必要です。

  

このアプリケーションを最適化するには、サーバーのコンテンツは、クライアントのニーズに基づいて生成するために決定させることができます。もしクライアントが、サーバーはJSON形式を生成しますJSONを望んでいる。は、JSON形式は、XMLとして生成されるデータ、およびCSVファイルはすべて同じです。したがって、そのデータのリソースであるとJSON、XML、およびCSV形式の表現ているということができます。表現からのリソースを分離するには、1つのURLを別の表現を持つことになります。送信される表現は、HTTPのAcceptの値に依存*ヘッダが1つだけにする必要はありません。受入HTTPヘッダに基づいてみましょうフォーカスして、次のHTTPの会話を返すいくつかの内容を検討します。

 要望のGET / services/historical/AMZN/2006 HTTP/1.1のホスト:192.168.1.242:8100のUser - Agent:Mozilla/5.0(Macintoshの場合;ロ; PPCのMac OS XのMach - Oの;アン米;右心室:1.7.8)Geckoの/ 20050511受入:がtext / xml、application / xmlのはapplication / xhtml + xmlで、テキスト/ HTML;質問= 0.9、テキスト/平野;質問0.8、イメージ/言語:アン= 0.5受入,*/*;質問= PNG形式-私たち、アン;質問= 0.5のAccept -エンコーディング:gzip形式、- Charsetに受入デフレート:のISO - 8859 - 1は、utf - 8;質問= 0.7、*;質問= 0.7はKeep - Alive:300接続:keep - aliveの 応答HTTP/1.1の200 [OK]を日付:Mon、21日2006年午後2時51分40秒次サーバー:Apache/2.0.53(Ubuntuの)はLast - Modified:木、2006年5月11日午後5時43分45秒次ETagの8月:"41419c - 45 - 438fd340の"Accept -範囲:バイトContent - Lengthを:69はKeep - Alive:タイムアウト= 15、最大= 100接続:Keep - AliveをのContent - Type:テキスト/ HTML;のcharset = UTF - 8

要求は、HTTPは、HTTPサーバーを意味するのGETされているデータは、リソースに関連付けられて取得する必要があります。操作するときは、要求を受け付けるのAccept - Language、にAccept - EncodingとのAccept - Charset HTTPヘッダーを提供する特定なります。これらのHTTPヘッダーは、HTTPサーバーによって受け入れられますが、どのようなコンテンツの表示として送信するに役立つ。受入、値は、MIMEのシリーズは、クライアントが受け付けるエンコードされた識別子をされているHTTPヘッダーに着目した。

彼らは、クライアントがサーバーからの受信を希望するコンテンツの優先順位を指定の順序は、識別子のタイプが重要です。ロジックは、優先順位は、クライアントが、たとえば、プレーンテキストコンテンツの前にHTMLコンテンツを送信するためにサーバーの軍によって定義された利用可能なコンテンツを送信することです。コンテンツの優先順位は、MIMEの種類としては、HTTP仕様で定義された優先順位です。次のリストにするときの例のリクエストの順序が生成されます:

1。アプリケーション/ xhtml + xmlの2。 text / xmlの3。 application / xmlの4。イメージ/ 5 pngです。テキスト/ HTML;質問= 0.9 6。テキスト/平野;質問= 0.8 7。 * / *;質問= 0.5

識別子の順序は、識別子を専門とq値に依存しますがないq値がMIMEタイプの識別子は、1.0のデフォルト値を示します。時南極大陸値が存在する場合、値は、q値による識別子の特化を指定するMIMEタイプの識別子の優先順位を下げる必要がありますが1つの識別子優先順位が高いため、指定されたコンテンツが他の識別子よりも固有のものです。優先順位のリストで、識別子がtext / xml詳細*より固有のものです/ *これは、/ *すべてを意味します。また、text / xmlのテキストより固有のものです/ *、およびそれゆえtext / xmlの優先順位が高い。

は、HTTPの会話から、最初のMIMEの識別子は、text /、および第2のXML application / xmlの注意してください。しかし、優先順位では、最初のMIMEの識別子は、application / xhtml + xmlの私は、HTTPとMIMEの仕様に読み取った後に、この仮定したが、私はそれが働くためだけに起きたバグのように感じる。

の例の要求理由は、このバグが動作するように起こったのか理解する解剖しましょう。 MIMEタイプの識別子をapplication / xmlのテキスト/ xml、およびアプリケーション/ xhtmlに- xmlの特定と見なされており、各1南極大陸値を持ちます。もしサーバが次のように、MIMEタイプの順序は、そのブラウザがHTMLやXHTMLのコンテンツをXMLコンテンツの受信を好むということです。アプリケーション/ xmlおよびtext / xmlのMIMEタイプがXMLコンテンツは、XMLコンテンツはいえXHTMLコンテンツかもしれない。仕様を読み込むには、語句の優先順位は、MIMEタイプのご注文に関しては、一般的に言葉の問題を解決するには、より具体的なMIMEタイプ以下は特定のMIMEタイプの前に並べられています。これは/ xhtmlに- xmlのアプリケーションの前に並べられています/ xmlおよびtext / xmlのため、アプリケーション/ xhtmlに- xmlの特にXMLフォーマットされて、アプリケーションを意味します。この例ではHTTPの会話には、ブラウザに何を望むか明示された図。ようこそブラウザているもしない明示的に自分の欲しいものとして、次のHTTP会話で説明を示していません。

 要望のGET / services/historical/AMZN/2006受入:* /受入*言語:ja -受入約エンコーディング:gzipで、ユーザデフレートエージェント:Mozilla/4.0(互換; MSIE 6.0;は、Windows NT 5.1;の。NET CLR 2.0.50215;の。NET CLR 1.1.4322)

接続:キープアライブ一部のブラウザでアライブ受入型識別子* / *は、本質的に意味の送信は、"私を送る何を持って、私はそれを受け入れるだろう"このような要求は非常に助けにならないと難しいの分離を実装できるようになりますが表現からのリソースです。この問題を解決するに識別子*のためのデフォルトの表現を定義することです/ *.それは理想的なソリューションはないが、解決策は、必然的に何を送信するを生んだ。ほとんどの場合、これらのクライアントに送って下さい* / * HTMLベースのWebブラウザに基づいている可能性が高い。

記事は、ソニアLandeを提出


免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。
重要: この記事は、""自動ソフトウェアによって翻訳されたAjaxを使ってリソースと表現の識別。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。


Online: 315 users browsing the articles directory