是否可以在前端处理http-header信息? (使用JavaScript)

时间:2014-12-16 01:18:06

标签: javascript html http-headers frontend performance-testing

我正在搜索如何检测img文件的方式(404 ...或50x)

所以我确实弄明白了img文件是什么,如下面的步骤..

  1. 解析html和css代码,然后捕获URL
  2. 暂时制作img标签,指定src = URI
  3. 检查属性(宽度,高度),如果是0值,则找不到。
  4. 最后,我想抓住远程地址,如果是这样我可以弄清楚服务器有什么问题!

    所以我想如果我能在前端处理http-header,那就太棒了!

    我也考虑使用Ajax,但它需要额外的运行时间,  然后可以做出糟糕的网络性能......

    所以! 简而言之,这是我真正的问题。 是否可以在前端处理http-header信息? (使用JavaScript,不使用chrome-dev-tool,wiresharks等任何工具..)

    ![如何处理这些数据?(状态,远程地址等......)] [1]

1 个答案:

答案 0 :(得分:0)

不,无法从HTTP标头中检索IP地址。原因是,远程地址不是HTTP请求或响应头的一部分。您唯一的选择是向DNS解析API发出ajax请求,并使用该请求将主机名解析为IP地址。以下是使用Statdns.com的示例:



function hostToIp(host, callback) {
    function onComplete() {
        var res = JSON.parse(this.responseText);
        var ip = res.answer[0].rdata;
        callback(ip);
    }
    var oReq = new XMLHttpRequest();
    oReq.onload = onComplete;
    oReq.open("GET", "http://api.statdns.com/" + host + "/a", true);
    oReq.send();
}

console.time('resolve ip');
hostToIp('google.com', function(res){
    document.write(res);
    console.timeEnd('resolve ip');
});




正如您所看到的,请求通常在300毫秒内解析,并且是非阻塞的。因此,我认为这不会对绩效产生负面影响。