为什么有些 URL 以 结尾,
.html
而有些则没有,而最多其中有哪些是 HTML 页面?为什么有些 URL 以 开头
www
,而有些则不以,而全部其中有多少是在万维网上?
答案1
因为现在 HTML 页面通常都是动态生成的。
大多数情况下,扩展名描述了 HTML 页面的制作者。例如,.asp 表示该页面由服务供应商代码(嵌入在页面中的编程代码)。.jsp 也是如此,Java 服务器页面,这些文件位于包含 HTML 和 Java 代码的服务器页面上。还有许多其他扩展使用相同的机制(.do、.aspx,.cf,...)
最终,浏览器接收的只是 HTML,但所有的编译和逻辑都在服务器上运行。
对于 www.mydomain.com,这实际上意味着您联系域 mydomain.com 中名为“www”的服务器(或路由器)。虽然这是惯例,但您不必遵循它。域(在 DNS 条目中)可以配置为“如果未指定明确的服务器名称,则将请求发送到 Web 服务器”)。
您还可以为 Web 服务器指定任何其他名称,并让外部知道它,例如http://mywebserver.mydomain.com。
请注意,外部名称 (www、mywebserver) 在大多数情况下与 Web 服务器的物理名称无关。实际上,在大型网站上,多个服务器正在处理发往一个名称的请求。
答案2
一个url由几个部分组成:
- 协议部分
- 服务器部分
文件/资源部分
协议://服务器/文件或资源
协议部分是 http:// 或 ftp:// 或 ssh:// 或任何你能想到的。服务器部分是协议部分和文件/资源部分之间的所有内容
http://google.com/index.html
在这种情况下,它是“google.com”,在其他情况下它是“user@machine:port”。所以,这是你的第二个问题的答案:有些机器被称为“www.hostname.com”,有些机器被称为“hostname.com”。
一旦您的浏览器/协议处理程序通过 URL 的协议部分描述的协议连接到服务器部分中描述的服务器,它就会向服务器请求资源部分中给出的资源。这就是您的第一个问题的答案:您向服务器请求文件/资源,服务器回答。
http://google.com/index.html <- you ask it for "index.html"
如果服务器有它,那就好了。如果名称是“foo.bar”并且文件存在,那就好了。如果服务器知道当你向它询问“more.money”时该做什么...很酷。
阅读更多内容'在维基百科“”。