2008年11月25日星期二

404页面会传送到客户端吗?

在网站中,对于404错误最常用的应对方法是,做一个404页面,当访问不存在的资源时,就会跳转到这个404页面。404页面本身也是一个完整的xhtml/html页面。
假设连接到一个不存在的图片<img src="hello.gif" />
想知道服务器到底是传递一个仅包含404的头,还是整个xhtml/html页面的代码。

于是我在淘宝测试了下。
1:首先添加一个属性,链接到一个不存在的图片。


2:打开“网络”选项卡,可以看出返回了大小4K左右的数据。


3:单击Load Response 按钮,将404页面的代码全部复制到一个记事本中,得到文件大小8.73 KB (8,947 字节)。


不对呀,从第一张图片可以看出,返回了4K的数据。但不要忘了,从Content-Encoding gzip得知,服务器是开启了gzip压缩功能的,因此才返回了4K左右的压缩数据。看来服务器是将整个xhtml/html返回到了客户端,而非仅仅一个404的头那么简单。

明白了 怿飞提高Web页面的性能(二)这篇文章的第8条,尽量避免返回404 。

不知道以上得出的结论正确否!

没有评论: