問題タブ [content-negotiation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1890 参照

apache - mod_rewrite ルールとコンテンツ ネゴシエーション

私は mod_rewrite に比較的慣れていませんが、「きれいな URL」が必要なサイトがあります。SOと同様:)。

「 http://www.whatever.com/search/test 」が「http://www.whatever.com/search.php?q=test に書き換えられ、いくつかの制限がありました成功。コンテンツの交渉が邪魔になっていると思います...

手始めに、私のテスト .htaccess ファイルを次に示します。

残念ながら、これsearch.php にリダイレクトしますが、q 変数に私のパラメーターを渡しません。ただし、これ機能します。

実際、ルールをまとめて削除すると、ファイルの最初のバージョンと同じ結果になります。したがって、私の結論は、Apache は mod_rewrite ルールがなくても "foo" を "foo.php" に喜んでリダイレクトしているので、それを処理しているのはコンテンツ ネゴシエーションであるに違いないということです。(これは、foo.php の名前を foo.html に変更した場合でも、「foo」に移動するだけでファイルが見つかるという事実によってさらに検証されます)。

それで、質問はです。コンテンツ ネゴシエーションに関して mod_rewrite を適切に使用するにはどうすればよいですか? 特定のファイルに対して無効にすることはできますか? コンテンツ ネゴシエーションが発生する前に mod_rewrite ルールが発生するようにする方法はありますか?

関連する場合、これは私のApache confのmod_userdir部分のconfファイルです(このテストサイトは私のユーザーのhomedir/public_htmlにあります):

0 投票する
2 に答える
392 参照

browser - HTML 以外のコンテンツ タイプのファイルをブラウザからダウンロードするにはどうすればよいですか?

コンテンツ ネゴシエーションを使用して、HTTP サーバー上のリソースの HTML 表現と RDF/XML 表現の両方を提供しようとしています。サーバー側では、これは機能します。

正しいバージョンを取得します。JavaScript/Dojo でも同じことができます。

ポップアップ ダイアログに結果が表示されます。私が立ち往生しているポイントは、このバージョンをダウンロードする方法をユーザーに提供することです。ブラウザーで RDF をページとして表示するか、保存ダイアログを直接開くページにリンクを設定したいと考えています。クエリ パラメータやその他のトリックに頼ることなく、これはまったく可能ですか?

0 投票する
4 に答える
2338 参照

ruby-on-rails - RailsでのRESTfulコンテンツネゴシエーション

Railsアプリのいくつかのリソースにコンテンツネゴシエーションを実装しようとしています。私はMootoolsを使用しており、XMLHTTPRequestによって受け入れられるコンテンツタイプを「application/json」に微調整できる可能性があります。

コントローラでこの情報を取得し、XHTMLの代わりにJSON応答を生成する方法はありますか?

私は次のようなことを避けようとしています:

...それは私のURLを汚すので、ある程度の冗長性を課し、それほど柔軟ではありません。

ありがとう!

0 投票する
1 に答える
117 参照

http - コンテンツ ネゴシエーションにおける正規型と要求型

そのため、返されたデータに複数の有効な MIME タイプが含まれている可能性があるリクエストに関して、HTTP コンテンツ ネゴシエーションで何をすべきか疑問に思っていました。

たとえば、次の MIME タイプを持つ任意のデータがあるとします。

複数の MIME タイプが考えられる場合、Web アプリケーションからこの形式のデータを要求するクライアント アプリケーションは、要求の Accept ヘッダーで使用する MIME タイプに関係なく、その種類のデータを受信することを合理的に期待する必要があります。しかし、どのタイプがこのデータの正規のタイプであるかについては、一般的にある程度のコンセンサスがあります (つまり、1 つは IETF に適切に登録された MIME タイプであり、その他は登録前または標準化前のタイプです)。

したがって、私の質問は、これらのリクエストに返信する際に、返された Content-Type ヘッダーを正規のタイプまたは要求されたタイプに設定する必要がありますか? どちらがより良い練習ですか?

更新されていない古い/不十分に作成されたアプリとの互換性を確保するために、常に正規型を返す必要がありますか?それとも、要求された型をエコー バックする必要がありますか? 現在、これはより良いアプローチであり、ほとんどの人が私が扱っているデータ型で行っていることであるため、正規型を返しています。

これはやや主観的なものなので、質問ではなくコミュニティ wiki にする必要があると思われる場合はお知らせください。変更を検討します。

0 投票する
3 に答える
758 参照

ajax - ブラウザの戻るボタンを使用する場合、コンテンツネゴシエーションは無視されます

状況は次のとおりです。

リソースのリストのリクエストに応答するWebアプリケーションがあります。

これは最初、そのパスに移動することにより、Webブラウザによって直接要求されます。ブラウザは「text/html」を含む標準の「Accept」ヘッダーを使用し、アプリケーションはこれに気づき、アイテムリストのHTMLコンテンツを返します。

返されるHTMLには、JavaScript(jQuery)が含まれています。JavaScript(jQuery)は、実際のデータを取得するためにajaxリクエストを実行します。

今回のみ、「Accept」ヘッダーが明示的に「application/json」に設定されます。繰り返しますが、私のアプリケーションはこれに気づき、JSONがリクエストに正しく返され、データがページに挿入され、すべてが満足のいくものになります。

ここに問題があります:ユーザーは別のページに移動し、後で戻るボタンを押します。次に、ファイルを保存するように求められます。これは、アイテムリストのJSONデータであることがわかります。

これまでのところ、これがGoogleChromeとFirefox3.5の両方で発生することを確認しました。

ここでは、2つの可能なタイプの回答があります。

  1. どうすれば問題を解決できますか。キャッシュコントロールヘッダーの魔法の組み合わせ、またはブラウザがここで正しいことをする原因となる他のブードゥーはありますか?

  2. 私がここでひどく間違ったことをしていると思うなら、どうすればいいですか?私は正確さを求めていますが、柔軟性を犠牲にしないようにもしています。

それが役立つ場合、アプリケーションはRestlet2.0m4を使用するJAX-RSWebアプリケーションです。役立つ場合は、サンプルの要求/応答ヘッダーを提供できますが、問題は完全に再現可能であると思います。

0 投票する
1 に答える
5423 参照

xml - RESTful サービスに Spring 3.0 コンテンツ ネゴシエーションを使用する方法の例はありますか?

Spring MVC を使用して REST スタイルのサービスを作成する方法についてSpring 3.0 のドキュメントブログ投稿 (フォローアップ)を読んでいましたが、ContentNegotiatingViewResolver の使用方法に関する実用的な例が見つかりません。私はこのようなテストコントローラを持っています

そして、このようなものを使用しようとしました

URLの拡張子に従ってビューを解決しようとしています(html、.xml、および.jsonをサポートしたい)。.html ビューは機能します (正しい JSP ビューも表示されます) が、JSON と XML を起動して実行するために試したものは他に何もないようです (defaultViews プロパティの設定は、私が試したことの 1 つにすぎません)。読み物もあまりないようです。誰か経験や例がありますか?

0 投票する
2 に答える
4850 参照

php - ブラウザの言語に基づいてユーザーをリダイレクトする方法

  1. ブラウザ言語に基づいてユーザーをリダイレクトしたいのですが、ここでこれを行う方法を見つけました。問題なく動作します。コード(PHP)は次のとおりです。

    /li>
  2. 問題は、他の Web サイトから、または自分の Web サイトへの最初の訪問時にのみユーザーをリダイレクトしたいことです。つまり、ユーザーが自分のウェブサイトの一部のページを読んでほしくないということです。ユーザーがインデックスに戻ると、他のページにリダイレクトされます。また、私のウェブサイトには、英語または中国語のようなリンクがあります。ユーザーが中国語のページから英語をクリックすると、index.php に移動し、中国語のページにリダイレクトされて、ユーザーは英語のページにアクセスできなくなります。 . これを PHP または JavaScript で修正するにはどうすればよいですか?

0 投票する
1 に答える
672 参照

apache - Tomcat でのコンテンツ ネゴシエーション

Apache の MultiViews オプションと同様に、Tomcat にプリティ URL を使用させようとしています。AJP を使用して Tomcat を Apache にプロキシしようとしましたが、.htaccess ファイルは依然として無視されます。Tomcat のオプションは何ですか?

0 投票する
2 に答える
710 参照

c# - HTTP コンテンツ ネゴシエーションを処理する C# または .NET クラスはありますか?

ユーザー エージェントとの HTTP コンテンツ ネゴシエーションを処理する C# または .NET クラスはありますか?

受け入れ可能なコンテンツ タイプのリストを提供し、それらをブラウザと交渉して最適なものを見つけられるようにしたいと考えています。

0 投票する
1 に答える
69 参照

computer-science - 「コンテンツ ネゴシエーション」の概念は、HTTP コンテキストの外でどのように呼び出されますか?

「コンテンツ ネゴシエーション」の別の用語は何ですか (HTTP について話していない場合)?

例: 一部の (リモートまたはローカル) サービス、コンポーネント、モジュールは、使用するプロトコルや交換するコンテンツ タイプについてネゴシエーションを行っています。

サービスプロバイダー

  • 内容について:
    • 私が得意なのは、りんごを提供することです。
    • バナナも提供できますが、もっと時間がかかります。
    • みかんもご用意できますが、品質が良いとは限りません。
  • プロトコルについて:
    • 果物をビニール袋に入れて持ってきます。
    • または、あなたの方向に投げることもできます。その方が速いですが、いくつかの果物が失われる可能性があります。

サービス利用者

  • 果物が必要です。
  • バナナでもいいけど、りんごでもいい!
  • 今すぐ必要です!
  • 紛失する場合もあります。

ここで、何らかのネゴシエーション プロトコルを使用した後、プロバイダーとユーザーは、「プロバイダーが消費者にリンゴを投げる」という最適なソリューションを決定します。

私の例を気に入っていただければ幸いです;)

では、私が探しているものにより適した用語は何ですか?