Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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请求_Http_Httpwebrequest_Content Type - Fatal编程技术网

如何分离后台HTTP请求

如何分离后台HTTP请求,http,httpwebrequest,content-type,Http,Httpwebrequest,Content Type,这更像是一个试图理解HTTP如何真正工作并实现它的问题 我需要一个HTTP分析器,它能够从一些HTTP日志数据中分离主页请求和后台请求。其思想是将用户发出的HTTP请求与那些在后台使用该术语自动发出的HTTP请求分离开来。因此,从我看到的HTTP数据的最初几个印象来看,当我访问任何一个普通网站时,都会获取一个文本/html对象,然后是许多其他对象,如css、xml、javascript、图像等 现在的问题是,在用户主动不生成请求的情况下,如何分离这些后台请求。据我所知,这将主要是广告抓取、重定向

这更像是一个试图理解HTTP如何真正工作并实现它的问题

我需要一个HTTP分析器,它能够从一些HTTP日志数据中分离主页请求和后台请求。其思想是将用户发出的HTTP请求与那些在后台使用该术语自动发出的HTTP请求分离开来。因此,从我看到的HTTP数据的最初几个印象来看,当我访问任何一个普通网站时,都会获取一个文本/html对象,然后是许多其他对象,如css、xml、javascript、图像等

现在的问题是,在用户主动不生成请求的情况下,如何分离这些后台请求。据我所知,这将主要是广告抓取、重定向和一些基于Ajax的东西


有人知道这件事吗。您可以告诉我一些经验或可能是资源,让我开始进行此分析?

无法区分哪些请求是由浏览器生成的,因为特定的用户操作,或者是由于其他自动化过程而不是简单的HTTP请求。浏览器/客户端是唯一具备此类知识的浏览器/客户端,因此您必须将其作为图片的一部分,例如,将分析器作为浏览器插件实现,或将HTTP客户端作为分析器本身的一部分嵌入


如果您试图创建一个通用工具来分析流量负载,那么区分由用户直接点击和自动请求生成的流量通常没有意义。

没有直接、干净的方法来做到这一点。但是,您可以通过过滤掉明显不是用户请求的文件请求(如*.jpg)来获得非常接近的结果。此外,您可以过滤掉不是HTTP/200响应的内容,例如301和302重定向

尝试以下几点:

cat access.log
    | grep -E -v "(.gif|.ico|.png|.jpg|.jpeg|.js|.css) HTTP"
    | grep "HTTP/1.1\" 200"

为可读性增加了换行符

我认为通常最简单的方法是按文件类型将它们分开:html、php等。请求是真正的点击,css、js、图像文件等是背景点击。当然,这并没有考虑Ajax请求,它也可能会影响html和php文件。