2011-08-08 4 views
1

指定されたファイルに対してHTTP GET要求を送信しますか?私は自分のNodeJSウェブサーバを作成しようとしており、ブラウザに必要なjavascriptファイルを送信する方法について知りたいと思っています。チャットされていないjavascript srcファイルがある場合、ブラウザは何をしますか?

ビルドしているウェブアプリに複数のJavaScriptライブラリを使用していて、それぞれにHTMLタグの先頭にスクリプトタグがあるとします(例:<script type="text/javascript" src="jquery.js"></script>)。私のサーバーでは、要求されたsrcに基づいてさまざまな関数を呼び出すことができますし、HTMLと同じ場所にある必要はないファイルを返すことができますか?

私はまだ一般的でNodeJSとウェブサーバへの新たなんだので、これはそこに他の人には本当に明らかである場合、私は謝罪...

+0

頭がなぜそうであると思われるのですか? –

+0

* "HTMLと同じ場所にあるとは限りませんが、ファイルを返すことはできますか?" * - 私はこれを理解するのに苦労しています。誰かがこれが文法上正しいことを確認できますか? –

答えて

3

それは指定されたファイルに対するHTTP GETリクエストを送信していますか?

はい。

私は自分自身のNodeJSウェブサーバを作成しようとしており、ブラウザに必要なjavascriptファイルを送信する方法について知りたいと思っています。

ブラウザがHTTP要求をどのように決定するか心配しないでください。 HTTP仕様を実装するだけです。

私のサーバーでは、要求されたsrcに基づいてさまざまな関数を呼び出すことができますし、HTMLが期待する場所と同じではないファイルを返すことができますそれは何ですか?

これは、あなたがrefererヘッダーに基づいて同じURIの異なるコンテンツを提供することを計画しているようです...私はこれをキャッシュに当てて、悪夢に基づく悪夢になると思います。それをしないでください。あなたのHTMLを書いて、別のスクリプトが必要な場合は別のURIから要求します。

一方、ファイルシステム上のファイルからデータを読み取らずにデータを返すことを希望する場合は、問題ありません。クライアントは、HTTP応答に入れるデータをサーバーがどのように決定したかは気にしません。それが正気で、一貫していることを確認してください。

+0

いいえ同じURIの同じコンテンツを提供することを計画していますが、必ずしもURIと同じ場所にあるとは限りません。つまり、ブラウザがsrc = 'jquery.js'のスクリプトをリクエストしている場合、ファイル自体は実際には 'files/javascript/jquery.js'に配置されている可能性があります。それは問題があるように聞こえますか?私の中のnoobに関するもう1つの質問:上記のようなURIのためのHTTP GETリクエストを受け取った場合、それはサーバ上でどのように見えますか?ブラウザがurl.com/jquery.jsというページをリクエストしているかのように私のサーバーに表示されますか? – thisissami

+0

私が言ったように。サーバーが応答の内容をどのように決定するかは関係ありません。クライアントには分かりません。 (問題はありますが、サーバーの保守を容易にしたい場合に限ります)。 – Quentin

+0

HTTP要求はHTTP要求です。通常、HTML文書の要求と画像、スクリプトなどの区別はありません。 – Quentin

0

指定されたファイルに対してHTTP GET要求を送信しますか?

はい。

リソースがブラウザから要求される時期と方法について心配する必要はなく、リソースごとに返すコンテンツに利用可能にするリソースアドレスをマップするだけです。

私は、要求されたsrcに基づいてさまざまな関数を呼び出すことができますし、必ずHTMLと同じ場所にあるとは限りませんファイルを返すことができますか?

もちろんです。リソースのアドレスとリソースのデータを取得する物理ファイルとの間に直接の関係はありません。リソースアドレスとデータの取得先との間のマッピングを行うコードが常にあります。ファイルが基本的にリソースアドレスと同じ階層に配置されている場合は、リソースを管理する方が簡単です。

0
Does it send an HTTP GET request for the specified file? 

はい、Quentinによると、ブラウザはソースHTMLで指定された各スクリプトファイルにその特定のURIのGET要求を要求します。

WebサーバーがそのGET要求を受信すると、URI要求のデータを返すことができるすべての操作を実行できます。そのパスから実際にファイルを返す必要はありません。実際には、パスを解析して、要求のデータパラメータとしてパスのさまざまな部分を使用できます(これは、最近多くのWebアプリケーションがそうしている)。 の場合は、データベースを検索して"john"というユーザーのアカウント番号を取得し、そのデータを返すことができます。結果は、実際のファイルから、または実際にそのパスを持つものから来る必要はありません。