2011-07-23 12 views
0

PHPを使用する場合、file_get_contentsまたはcURLを使用してURLを取得できます。jQuery getJSON() - どのサーバが呼び出されていますか?

jQueryがjQuery.getJSON呼び出された関数は、()があるのjQueryでは、クライアント

上で実行されます。 Javascriptはクライアント上で実行されます。外部URLのJSONコードのダウンロードにはどのようなサーバーが使用されていますか?呼び出されたURLはどのような情報を知っていますか?それはドメインを知っていますか?クライアントユーザーのIP?それはクライアント言語です。それは代わりに、1つのサーバー・ポイントのすべてのクライアント上で実行されるため

れる好ましい多くの要求をするために多くの要求

のために、それはPHPよりもJavaScriptでこれを行うには、より安全なのですか?

答えて

3

外部URLのJSONコードのダウンロードにはどのサーバーが使用されていますか?

その関数に渡されたURLのドメイン名が解決されたもの。

呼び出されたURLはどのような情報を知っていますか?

これは他のHTTPリクエストと同様です。通常の情報が利用できます。

ドメインを知っていますか?クライアントユーザーのIP?

もちろんです。

クライアント言語です。

... HTTPリクエストを行う。

1つのサーバーポイントではなくすべてのクライアントで実行されるため、Javascriptでこれを行う方が安全ですか?

サーバーを制御します。あなたはクライアントを制御しません。 JavaScriptを無効にすることができます。サーバーから要求を行う方が安全です。

ためSame Origin Policy

1

(「使用しているサービスは、レート制限を課さないと仮定すると失敗しにくい」と「安全」に等しいの値について)JavaScriptで作られたすべての要求に行く必要がありますドキュメントがロードされたドメイン。それは標準的なHTTPリクエストです。そのため、サーバーは、ユーザーが(クッキーなどを含めて)ナビゲートしていた場合と同じ情報を持ちます。質問の文句から、外部サイトにリクエストする必要があるようです。そのようなセキュリティポリシーの対象ではないサーバーからの要求を行うことが最も効果的です。

+0

getJSONは、同じ発信元ポリシーをバイパスするJSON-P要求を行うことができます。 – Quentin

+0

真ですが、JSON-Pは外部サイトの協力を必要とするため、任意のJSONサービスを使用することはできません。 – dbb

1

jQueryにはjQuery.getJSON()という関数があります。 Javascriptはクライアント上で実行される です。外部URLのJSON コードのダウンロードにはどのサーバーが使用されていますか?呼び出されたURLはどの情報に を知っていますか?それはドメインを知っていますか?クライアントユーザーのIP?クライアント言語は です。

ウェブブラウザを実行するコードは、あなたのPCだけでもありますが、WebサーバーからHTTPプロトコルを使ってコンテンツを完全に取得することができ、数十年前からそうしています。

AJAXリクエストにも違いはありません。 jQueryは、一般的なページコンテキストから切り離された方法でHTTPリクエストを実行するXMLHttpRequestオブジェクトを作成します。サーバーが関係する限り、それは他のものと同じようなHTTP要求です。

の内容の結果は、JSON形式で書かれていますが、HTTP層はそのことを知らないし気にもしません。

関連する問題