鉴于网页,我想检测一下:
http
请求?http
方法是什么(POST
,
相关请求的GET
等)。我认为这是一个棘手的问题......但是有没有任何指标可以暗示一个或另一个选项?
答案 0 :(得分:7)
我想说任何具有URI类型属性的元素都能够触发HTTP请求,并且任何具有属性的元素(如果类型脚本都可以通过javascript触发它)。
我们可以从此列表中筛选出来: https://www.w3.org/TR/REC-html40/index/attributes.html
并基于此问题的接受答案: COMPLETE list of HTML tag attributes which have a URL value?
这为您提供了url类型属性的列表(请参阅下面的引用答案)。
至于脚本类型属性,包括onclick,onkeypress等,这意味着,我相信你会留下一大堆不能触发http请求的元素。
引用答案:
查看W3C的HTML属性列表,其中包含"类型"在那里的列,只是寻找URI类型。
当然,该列表的HTML 5版本也很有用
因此,对于HTML4,我们得到了:
<a href=url>
<applet codebase=url>
<area href=url>
<base href=url>
<blockquote cite=url>
<body background=url>
<del cite=url>
<form action=url>
<frame longdesc=url>
和<frame src=url>
<head profile=url>
<iframe longdesc=url>
和<iframe src=url>
<img longdesc=url>
以及<img src=url>
和<img usemap=url>
<input src=url>
和<input usemap=url>
<ins cite=url>
<link href=url>
<object classid=url>
和<object codebase=url>
以及<object data=url>
和<object usemap=url>
<q cite=url>
<script src=url>
HTML 5添加了一些(HTML5似乎也没有使用上面的一些):
<audio src=url>
<button formaction=url>
<command icon=url>
<embed src=url>
<html manifest=url>
<input formaction=url>
<source src=url>
<video poster=url> and <video src=url>
这些不一定是简单的网址:
<object archive=url> or <object archive="url1 url2 url3">
<applet archive=url> or <applet archive=url1,url2,url3>
<meta http-equiv="refresh" content="seconds; url">
此外,style属性可以包含带有一个或多个url的css声明。例如:<div style="background: url(image.png)">