Networking 如何通过启动方式区分不同的http请求

Networking 如何通过启动方式区分不同的http请求,networking,network-programming,httpwebrequest,http-headers,network-protocols,Networking,Network Programming,Httpwebrequest,Http Headers,Network Protocols,我正在开发一个监控网络流量的网络程序。我想根据http请求的发起方式来区分它们。我正在考虑以下四种类型的请求 由用户在web浏览器中输入url发起的http请求 由用户单击网页上的链接触发的http请求 由获取的页面中的资源自动触发的http请求。例如,如果页面中有img,它将触发另一个请求 AJAX更新 对于1和其他人,我正在考虑使用referer头 对于4对其他,我考虑使用X-request-With头 但是我想不出一个方法来区分2和3 知道2和3的区别吗?谢谢 作为请求的一部分传递参数是否

我正在开发一个监控网络流量的网络程序。我想根据http请求的发起方式来区分它们。我正在考虑以下四种类型的请求

  • 由用户在web浏览器中输入url发起的http请求
  • 由用户单击网页上的链接触发的http请求
  • 由获取的页面中的资源自动触发的http请求。例如,如果页面中有img,它将触发另一个请求
  • AJAX更新
  • 对于1和其他人,我正在考虑使用referer头

    对于4对其他,我考虑使用X-request-With头

    但是我想不出一个方法来区分2和3


    知道2和3的区别吗?谢谢

    作为请求的一部分传递参数是否可以接受?这将允许您区分2和3。

    对资源的请求应使用源页面作为引用者标题。因此,它可能类似于#2,但在为适当的页面回顾以前请求的URL,并将这些新URL重新分类为页面资源方面非常聪明。

    谢谢,user91208。不幸的是,没有,请求的来源是我们无法控制的商业浏览器。谢谢,Matthew。问题是,资源可能与referer不在同一URL(基)上。例如,原始请求URL是www.foo.com,但它可以从www.bar.com嵌入img。除非我对前面的响应进行解析,以查看它是否包含链接。这就是你的建议吗?我希望有一个比解析响应和跟踪所有href更简单的解决方案。