喜悦国际村 » PHP高级编程 » 一个页面里访问apache里2个虚拟主机,算是一个连接还是要2个连接?

页: [1]
darx2007-8-13 05:38 AM
一个页面里访问apache里2个虚拟主机,算是一个连接还是要2个连接?

假设在一个apache里,有a.xxx.com和b.xxx.com这2个虚拟主机

我一个页面 [url]http://a.xxx.com/1.html[/url]
里面有这样的代码
<img srcttp://a.xxx.com/a.gif">
那么,在客户端访问的时候
可以是在一个客户端和apache的连接中,向apache提交两次请求,分别是1.html和a.gif,来完成

如果,是这样的代码
<img src="http://a.xxx.com/a.gif">
<img src="http://b.xxx.com/b.gif">
在客户端,会因为域名的不同而建立2个和apache的连接用来分别访问这2个在不同域名下的文件吗?

sxin2007-8-13 07:51 AM
会,  HTTP协议总是无状态的, 所以无论是引用的图片、CSS、JS都会发起新的连接

darx2007-8-13 12:07 PM
楼上的错了

下面是apache手册中提到的
KeepAlive 指令
说明: 启用HTTP持续作用
语法: KeepAlive on|off
默认值: KeepAlive On
上下文: 服务器配置, 虚拟主机
状态: 核心
模块: core

持续作用扩展自HTTP/1.0和HTTP/1.1的长连接特性。提供了长效的HTTP会话,用以在同一个TCP连接中进行多次请求。在某些情况下,这样的方式会对包含大量图片的HTML文档造成的延时起到50%的加速作用。在Apache 1.2版本以后,您可以设置KeepAlive On以启用持续作用。


我现在的问题是,一个apache上有多个虚拟主机
我一个页面同时会访问这多个虚拟主机上的文件,是不是会建立多个连接,或者是,就共享同一个连接

caotian20002007-8-14 04:27 AM
应该是会建立两个不同的连接吧

yhsmengdi2007-8-14 05:31 AM
楼上正解,3楼的说法只是缓存而已。你可以看一下apache的日志文件。图片等都是作为一个请求的。

======
个人看法,哪位觉得不对可以指正。

darx2007-8-14 12:19 PM
楼上的,多次请求是可以在一个连接中完成的

这个我上面贴的那句话里已经提到了  “提供了长效的HTTP会话,用以在同一个TCP连接中进行多次请求。”

apache日志,只是记录的请求,和现在这个问题无关啊


4楼的,我现在也是这种猜测,但是,没法测试证实啊

[[i] 本帖最后由 darx 于 2007-8-14 08:22 PM 编辑 [/i]]

奶瓶2007-8-15 01:10 AM
IE每个进程的连接数是有限的


查看完整版本: 一个页面里访问apache里2个虚拟主机,算是一个连接还是要2个连接?


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.006158 second(s), 2 queries