这里发生了什么?

时间:2012-01-03 23:55:04

标签: url web cgi

http://www.google.se/search?Key1=Value1&Key2=Value2

我能否对这个链接有所了解?

我知道这些。 第一个“http://”描述服务器使用, “www.google.se”是服务器名称。

我的问题包括: 是“搜索”服务器根文件夹中的CGI脚本?如果是这样,为什么它没有.cgi扩展名? 如果不是它究竟是什么,我可以得到任何搜索样本脚本(如果它是一个脚本)。

2 个答案:

答案 0 :(得分:0)

这称为URL重写。它在Web服务器中完成,可能涉及将请求发送到单个文件(例如index.php或cgi),而不会看到它。

在此特定示例中,Google 可能将所有以“/ search”开头的请求发送到search.php,虽然search.php肯定会知道URI是搜索?Key1 = Value1& Key2 = Value2您将看到您在地址栏中看到的内容。

答案 1 :(得分:0)

Web服务器可以以任何方式响应任何URL,而无需在文件系统中的特定位置使用CGI脚本。

可以使用以下假设方法编写Web服务器:

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

不需要CGI脚本存在于任何地方。