返回信息流我当然知道www的意思...我就是奇怪为什么网站都要把www放在前头...
ps:本人基本属于完全不懂网络方面的东西...大牛们莫笑...
1.
如果没记错,apache php下,默认的是网站目录就是www吧.
这个默认目录的名字和网址开头的www有关系吗?
难道就是因为服务器默认站点目录就是www,又没什么必要性改,所以很多网站就www了??
2.
还有就是不输入www的问题. 比如 输入 baidu.com 就能到 www.baidu.com 这个是为什么
3.
在提出2的时候又想到一个问题...就是比如默认页面就是index.html or index.php之类的,那为什么网址里不出来... 网址不是 www.baidu.com/index.html. (我试过手动输入index.html index.php都可以打开,那我不输入,打开的是啥...)
突然发现这个问题好无聊...
4.
还有,网站的分页面的网址问题. 有的是 sub.main.com 这样的.有的是 www.main.com/sub
在php下一个是目录层级,一个是传递参数吧? 这个完全就是设计偏好决定的吗?
感觉问了好多无聊的问题... 试着百度过,但是出来的都是解释world wide web什么的...也不知道这种知识应该在什么样的学科资料里看. 突发奇想所以来问问...
这是一条镜像帖。来源:北邮人论坛 / www-technology / #21195同步于 2013/8/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
问个很小白的问题... 为什么网址前边很多都是www
AlstonLYG
2013/8/7镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你说的是类似www.google.com这样的?不懂的猜一下:这个是域名,就是给一个计算机起一个名字。以前可能某个单位会有很多计算机,一个负责www,一个负责ftp,一个负责irc,一个负责bbs……就给每个机器取不同的名字。但是现代我们一说“上网”就是说用浏览器用HTTP协议打开网页,忘了ftp,irc,email,telnet等其它不用HTTP的服务。所以见到的大多是www。所以干脆有的单位自动帮你把不带www的域名重定向到那个负责www服务的机器上,让大多数用www的用户不用输入www。
“网址”一般指的是URL,“统一资源定位符”。他的结构是
http://bbs.byr.cn/article/WWWTechnology/21195?p=1
Scheme:用什么方式获得这个资源。
这里是http:用HTTP协议。
Host:资源在哪个机器上。
这里是bbs.byr.cn,就是在那个叫bbs.byr.cn的机器上。可以用dns找到它的IP地址。
Path:资源在这个机器的什么地方(就是“路径”)
这里是/article/WWWTechnology/21195,一个类似目录结构的东西。不过放心,这是虚拟的,没有这个“文件”。
Query:如果这个资源是动态的,再提供一些参数让服务器进行处理。
这里是p=1,就是说“第一页”。path和query跟网页如何制作有关,可以自由设计。
另一个例子是
ftp://foo:blah@ftp.example.com:2121/aaa/bbb/ccc/ddd.zip
Scheme是ftp,用ftp协议
Authority是foo:blah,就是说用户名是foo,口令是blah
Host是ftp.example.com,就是说在这个机器上
Port是2121,就是说端口是2121
Path是/aaa/bbb/ccc/ddd.zip,就是这个路径和文件名。
URL是一个伟大的发明。在它发明之前,人们提到某个资源,就必须说:
“你要用FTP,连接上ftp.example.com的2121端口,用用户名foo,口令blah登录,然后进入目录aaa/bbb/ccc,然后下载ddd.zip这个文件”。
对于HTTP来说,如果你访问http://bbs.byr.cn/article/WWWTechnology/21195?p=1 那么浏览器就会连接bbs.byr.cn的80端口(HTTP的默认端口),并向服务器发送这样的消息:
GET /article/WWWTechnology/21195?p=1 HTTP/1.1
Host: bbs.byr.cn
....
...
...
服务器就知道:你想要/article/WWWTechnology/21195?p=1这个资源。但是HTTP协议并没有规定这个资源到底是磁盘上的文件,还是数据库里的数据,还是什么。服务器需要做的就是生成一个网页(或者图片或者别的合适的资源),然后传给客户端。
200 OK
Content-Type: text/html
<html>
<head><title>北邮人论坛</title></head>
<body><h1>欢迎</h1></body>
</html>
然后浏览器去解释这是什么,如果浏览器认为这是网页,就按网页渲染出来。
所以,服务器能做的就是“接收用户的请求,然后给他相应的响应”。但是因为没人规定服务器应该如何响应(除了HTTP协议的格式以外),服务器可以干任何“合理”的事。
比如:
用户访问http://www.byr.cn/index.html,服务器从某个目录里找个叫index.html的文件,然后传给用户。(当然服务器不一定要这样做)
比如用户访问http://www.example.com/index.php,服务器把index.php当作PHP程序执行一遍,把它的输出传给客户端。如果这个程序的输出碰巧是个网页,用户就看到了一个网页。
比如用户访问http://www.example.net/,服务器想一想“/”这个资源应该如何解释呢?既然用户没有指定文件,就把这个目录里的index.html给他吧。
所以,不管是index.html, index.php还是就是一个“/”,怎么行为,完全由服务器决定。它想怎么样都行。
“默认页面”什么的……可能服务器里所有的网页都是生成的,根本没有文件。也可能服务器真的找了某个网页给你。
至于http://sub.main.com/和http://www.main.com/sub的区别……
完全就是“连接上sub.main.com这个机器,然后让它给我"/"”,以及“连接上www.main.com这个机器,然后让它给我/sub”的区别。连接不同的机器,请求不同路径的资源。当然,那两个机器的拥有者可以随意设计服务器的行为。看他们的心情了。
其实这和PHP没什么关系。PHP只是一个编程语言。一般来说PHP的行为是,服务器装一个插件来处理php(或者天生就支持类似的接口),如果遇到有客户请求/xxx/yyy/zzz.php,那就找到某个/xxx/yyy/zzz.php这个文件,然后执行它,把结果传给客户。如果服务器不会处理PHP,而客户请求/xxx/yyy/zzz.php,而服务器管理员碰巧又把某个zzz.php放在某个xxx/yyy这个目录里,那么服务器就想“难道用户想要个文件?那我就把/xxx/yyy/zzz.php给他吧”,然后用户就看到这个php文件的内容了。(一般这时候管理员很生气,因为这不是他希望服务器做的,他希望服务器执行这个php而不是把内容给用户。这就是管理员没有配置好服务器了)
我倒是不觉得这些问题无聊。了解URL、HTTP协议,还有HTTP服务器一般如何工作以及到底是不是一定要那样工作,都是有好处的。
很好,给精华
【 在 nuanyangyang (暖羊羊) 的大作中提到: 】
: 你说的是类似www.google.com这样的?不懂的猜一下:这个是域名,就是给一个计算机起一个名字。以前可能某个单位会有很多计算机,一个负责www,一个负责ftp,一个负责irc,一个负责bbs……就给每个机器取不同的名字。但是现代我们一说“上网”就是说用浏览器用HTTP协议打
: “网址”一般指的是URL,“统一资源定位符”。他的结构是
: http://bbs.byr.cn/article/WWWTechnology/21195?p=1
: ...................
【 在 nuanyangyang 的大作中提到: 】
: 你说的是类似www.google.com这样的?不懂的猜一下:这个是域名,就是给一个计算机起一个名字。以前可能某个单位会有很多计算机,一个负责www,一个负责ftp,一个负责irc,一个负责bbs……就给每个机器取不同的名字。但是现代我们一说“上网”就是说用浏览器用HTTP协议打开网页,忘了ftp,irc,email,telnet等其它不用HTTP的服务。所以见到的大多是www。所以干脆有的单位自动帮你把不带www的域名重定向到那个负责www服务的机器上,让大多数用www的用户不用输入www。
: “网址”一般指的是URL,“统一资源定位符”。他的结构是
: http://bbs.byr.cn/article/WWWTechnology/21195?p=1
: ...................
顶,总是很通俗的讲述很技术很无聊的问题
SF已讲的很详细了。
对于问题1,LZ是不是也想问“WWW与HTTP有什么关系?”:
http://bbs.byr.cn/#!article/WWWTechnology/11091?p=1
讲解好详细~~ 十分感谢~!
我再慢慢消化消化~~
【 在 nuanyangyang 的大作中提到: 】
: 你说的是类似www.google.com这样的?不懂的猜一下:这个是域名,就是给一个计算机起一个名字。以前可能某个单位会有很多计算机,一个负责www,一个负责ftp,一个负责irc,一个负责bbs……就给每个机器取不同的名字。但是现代我们一说“上网”就是说用浏览器用HTTP协议打开网页,忘了ftp,irc,email,telnet等其它不用HTTP的服务。所以见到的大多是www。所以干脆有的单位自动帮你把不带www的域名重定向到那个负责www服务的机器上,让大多数用www的用户不用输入www。
: “网址”一般指的是URL,“统一资源定位符”。他的结构是
: http://bbs.byr.cn/article/WWWTechnology/21195?p=1
: ...................