2012-01-03 7 views
1

http://www.google.se/search?Key1=Value1&Key2=Value2ここに何が起こっていますか?

このリンクについての技術的アイデアはありますか?

私はこれらについて認識しています。 最初の「http://」は、使用しているサーバーを示しています。 「www.google.se」はサーバー名です。

私の質問には次のものが含まれます: サーバのルートフォルダ内のCGIスクリプトを "検索"していますか?もしそうなら、拡張子が.cgiでないのはなぜですか? もしそうなら、正確には何ですか、そして、私は検索のサンプルスクリプト(スクリプトの場合)を得ることができます。

+1

"http://"部分は、指定されたURIを取得するために使用される上位レベルのプロトコルを示します。このようなことを掘り下げて調べる前に、おそらく読書ネットワーク、コンピュータアーキテクチャ、その他の基本的なことが少しはあるはずです。 – Slavic

答えて

0

Webサーバーは、ファイルシステム内の特定の場所にCGIスクリプトを持っていなくても、任意のURLに応答できます。

これは、次の架空の方法でWebサーバを書くことが可能です:

def GET(host, path, query): 
    if path == "/hello": 
     print "Hello, world" 
    elif path == "/search": 
     perform_search(query) 

は、CGIスクリプトはどこにでも存在するための必要条件はありません。

+0

興味深いので、「検索」はパスである可能性があります。 – Gokul

+0

@Gokul:URL「http://www.google.se/search?Key1 = Value1&Key2 = Value2」を扱う「もの」は何でも構いませんし、ファイルやスクリプトやパスに対応する必要はないと提案していますまたは何でも。サーバーは、URLの文字数に基づいて応答をまとめることができます。あなたは[HTTP](http://en.wikipedia.org/wiki/HTTP)がどのように動作するかをよく知ることができます。 –

0

これはURL書き換えと呼ばれます。これはWebサーバー内で実行され、表示せずに1つのファイル(たとえば、index.phpやcgiなど)にリクエストを送信することができます。この特定の例では

search.phpは確かにURIが検索であることを承知しているであろうが、 search.phpに「/検索」で始まるすべてのリクエストを送信し、かもしれない?キー1 =値1 &キー2 =値2あなたは意志グーグルアドレスバーに正確に表示されているものを参照してください。

+0

私はこれらのことに気がつかなかったと思います。私の質問には次のものがあります:サーバのルートフォルダ内のCGIスクリプトを「検索」していますか?もしそうなら、拡張子が.cgiでないのはなぜですか?そうでない場合は、正確には何ですか、検索のサンプルスクリプト(スクリプトの場合)を入手できますか? – Gokul

+0

私の答えはそこにあります。あなたがそれを理解できないなら、それはあなたがまだ真実のために準備ができていないことを意味します。申し訳ありません。 – Slavic

+0

すべての点を尊重して、まだ私の質問のための任意の答えを得ていない..そして、Googleが/ searchで始まるすべての要求をsearch.phpにどのように送信するか、あなたの答えから。これは私が行方不明になっている部分です! – Gokul