这里发生了什么?
http://www.google.se/search?Key1=Value1&Key2=Value2这里发生了什么?
我可以得到关于这个链接的一些技术构想吗?
我知道这些。 第一个“http://”描述服务器使用, “www.google.se”是服务器名称。
我的问题包括: 是“搜索”服务器根文件夹中的CGI脚本?如果是这样,为什么它没有.cgi扩展名? 如果不是这是什么,我可以得到任何搜索示例脚本(如果它是一个脚本)。
Web服务器可以以任何方式响应任何URL,而不必在文件系统中的特定位置拥有CGI脚本。
它可以编写与以下假设方法中web服务器:
def GET(host, path, query):
if path == "/hello":
print "Hello, world"
elif path == "/search":
perform_search(query)
没有为CGI脚本在任何地方存在,没有任何要求。
有趣的,所以你建议“搜索”可能是一个路径! – Gokul 2012-01-04 00:06:20
@Gokul:他暗示处理URL“http://www.google.se/search?Key1 = Value1&Key2 = Value2”的“东西”可能是任何东西,并且不需要对应于文件或脚本或路径管他呢。很可能是服务器根据URL中的字符数来组合响应,仅此而已。您可能会喜欢[HTTP](http://en.wikipedia.org/wiki/HTTP)的工作原理。 – 2012-01-04 03:03:03
这被称为URL重写。它是在Web服务器内完成的,并且可能涉及将请求发送到单个文件(例如index.php或cgi),而不会看到它。
在这个特殊的例子谷歌可能发送以“/搜索”开始的search.php虽然search.php中肯定会知道,URI是搜索?键1 =值&键2 =值你将所有的请求看看你在地址栏中看到了什么。
请注意,“http://”部分表示用于检索给定URI的高级协议。在深入研究这些内容之前,你应该多一些阅读网络,计算机体系结构和其他基本的东西。 – Slavic 2012-01-04 00:05:14