可以触发HTTP请求的HTML元素

Mug*_*gen 11 html javascript http http-method

给定一个网页,我想检测:

  • 页面中的哪些元素可能会触发http请求?
  • 对于这些元素,我想知道什么是http法(POST, GET相关要求等).

我认为这是一个棘手的问题..但有没有任何指标可以暗示一个或另一个选项?

Ara*_*mar 7

我会说任何具有URI类型属性的元素都能够触发HTTP请求,并且任何具有属性的元素如果类型脚本可以通过javascript触发它.

我们可以从这个列表中筛选出来:https: //www.w3.org/TR/REC-html40/index/attributes.html

并基于此问题的已接受答案: 具有URL值的HTML标记属性的完整列表?

这将为您提供类型为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>

这些不一定是简单的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)">