Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在前端处理http头信息?(使用JavaScript)_Javascript_Html_Http Headers_Frontend_Performance Testing - Fatal编程技术网

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

是否可以在前端处理http头信息?(使用JavaScript),javascript,html,http-headers,frontend,performance-testing,Javascript,Html,Http Headers,Frontend,Performance Testing,我在搜索如何检测img文件时未找到(404…或50x) 所以我确实弄明白了什么是img文件,就像下面的步骤 解析html和css代码,然后捕获URL 临时生成img标记,分配src=URI 检查属性(宽度、高度),如果它是0值,将找不到它 最后,我想捕捉远程地址,如果是这样的话,我可以找出服务器有问题 所以我想,若我能在前端处理http头,那个就太棒了 我也考虑过使用Ajax,但它需要额外的运行时间, 然后可能会使web性能变差 所以! 简言之,这是我真正的问题。 是否可以在前端处理http头信

我在搜索如何检测img文件时未找到(404…或50x)

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

  • 解析html和css代码,然后捕获URL
  • 临时生成img标记,分配src=URI
  • 检查属性(宽度、高度),如果它是0值,将找不到它
  • 最后,我想捕捉远程地址,如果是这样的话,我可以找出服务器有问题

    所以我想,若我能在前端处理http头,那个就太棒了

    我也考虑过使用Ajax,但它需要额外的运行时间, 然后可能会使web性能变差

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


    !![如何处理此数据?(状态、远程地址等…)][1]

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

    函数hostToIp(主机,回调){
    函数onComplete(){
    var res=JSON.parse(this.responseText);
    var ip=res.answer[0].rdata;
    回拨(ip);
    }
    var oReq=新的XMLHttpRequest();
    oReq.onload=未完成;
    oReq.open(“获取”http://api.statdns.com/“+host+”/a”,正确);
    oReq.send();
    }
    控制台时间(“解析ip”);
    hostToIp('google.com',函数(res){
    文件编写(res);
    console.timeEnd(“解析ip”);
    
    });图像有错误事件,无需侧向加载。并且0不是缺少的img的宽度。顺便说一句…感谢您的快速评论!是的,但最终目的是检测服务器有问题,所以我需要它。。。实际上,它不需要只是一个img文件,任何来自web服务器的资源都可以。这只是一个例子。(img)主要问题是如何处理http标头数据。您可以使用HEAD请求来获取标头,但我不知道如何处理。为什么需要标头;img.src将显示服务器的地址,即使在重新定向后也是如此。例如,当我们使用“youtube.com”时,会收到许多资源(html、css、视频剪辑、img等),但是,每次进入“youtube.com”时,服务器的ip地址都不同。。有时,ip地址将是1.1.1.1,有时,将是2.2.2.2。。。并且引用的资源也有不同的服务器ip。所以,包含远程地址的http头可以区分“img.src”并不总是有ip地址。有时,它像“www.foo.com/img/blah/blah2”,有时像“0.0.0.0/blah/blah2”,所以我需要来自http headergreat的远程地址!这几乎是我想要的,但是,我想检查每个资源的地址。这似乎只适用于主机,如google.com或youtube.com等。。也有可能吗?比如“http:/www.google.com/images/A.png”?是的。只需首先从URL中提取主机名。看这里-完美!谢谢!如果我的答案对你有效,请将其标记为正确。哦,很抱歉忘记了。谢谢。