把页面中的img,script,link等标签为空链可以导致页面多余哀求的题目,包罗IE,Firefox,chrome,Safari!可是相对付img,script跟link的src、href为空时,在IE下不做哀求,而Chrome, Safari, 和 Firefox则会呈现一次多余的新哀求。下面具体讲授一下:
img src为空的环境说明 无论是在html中写入<img src='' />照旧在js中通过Image工具成立var img = new Image(); img.src = "";,城市导致向你的处事器多做一次哀求。而详细哀求的环境说明如下:
在IE中,这样做会哀求一次当前页面地址的目次。如在http://js8.in/demo/a.html 中呈现这种空src的标签,会导致从头哀求一次:http://js8.in/demo/ 在Safari 和 Chrome中,将哀求当前页面自己。 在Firefox 3.5早年的版本中,有和Safari同样的题目,可是在3.5中批改了这个BUG。 在Opera 中,不会做特另外哀求。
在一个会见量不高的网站中,多一个这样的哀求也无所谓(乃至可以让你的网站赏识看上去翻番),但在一个万万级会见量乃至更高的WEB站点里,这样会导致你的处事器和带宽的本钱明显增进。 其它一个隐患是,从头哀求某个页面也许会导致用户的一些信息被有时中修改,譬喻cookies,可能ajax操纵。
你永久不会写出这样的代码? 我并不这么以为,许多时辰这种环境在有时中呈现,好比下面这段php代码:
<img src="$imageUrl" alt="" /> 你原打算是从处事器端读取这个src地点,可是因为某个缘故起因,这个地点还未配置,可能代码的BUG导致读取失败,就会呈现空的src标签。
其他的标签中的空src会不会导致这样的题目? 好动静是,在IE中只有image标签有这个题目。 坏动静是,在Chrome, Safari, 和 Firefox中<script src=""> 和<link href="">城市导致呈现一个新的哀求。
怎样办理这个题目? 可以从两方面着手,一是只管停止这种坏的编程方法,不要呈现空的src标签。其它,可以从处事器端着手,在发明时这种有时义的哀求时不要返回任何对象给客户端。
<?php $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; if ($referrer == $url){ exit; } ?>
原文链接:http://www.js8.in/555.html (编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|