定义
<a>
元素(或称锚元素)可以通过它的 href
属性创建通向其他网页、文件、电子邮件地址、同一页面内的位置或任何其他 URL 的超链接。
属性
download
把对应的URL视为可下载资源。如果download指定了值,download中的值为被视为下载资源的filename。如果download没有指定值,浏览器会依次从HTTP标头、URL路径的最后一段、媒体类型来确定下载资源的名字及拓展名。
href
超链接所指向的URL。
- 使用文档片段链接到页面的某一段
- 使用文本片段链接到某一段文字
- 使用媒体片段链接到某个媒体文件
- 使用
tel:
URL 链接到一个电话号码 - 使用
mailto:
URL 链接到一个邮箱地址
ping
包含一个以空格分隔的URL列表,当跟随超链接时,浏览器会发送带有正文的PING的POST
请求
示列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<a href="//juejin.cn" ping="//127.0.0.1:3000">cn.bing.com</a>
</body>
</html>
请求头:ping-from
请求头表示源网页的 URL,ping-to
请求头表示目标网页的 URL
{
"host": "127.0.0.1:3000",
"connection": "keep-alive",
"content-length": "4",
"ping-from": "http://127.0.0.1:8080/",
"origin": "http://127.0.0.1:8080",
"cache-control": "max-age=0",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36",
"ping-to": "http://juejin.cn/",
"content-type": "text/ping",
"accept": "*/*",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9"
}
其他
利用PING
发送POST
的请求,我们可以使用循环使之不停的向一个地址追加POST请求,造成DOS攻击
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PING</title>
</head>
<body>
<script>
var link = document.createElement('a');
link.href = "";
link.ping = '需要攻击的地址';
document.head.appendChild(link);
link.click();
</script>
</body>
</html>
rel
指定目标对象到链接对象的关系
target
指定如何展示链接的内容
_self
: 当前页面加载_blank
: 在浏览器新的标签页打开_parent
: 在浏览器的父级浏览窗口打开,如果没有,就在当前页面打开_top
: 在浏览器的顶级浏览窗口打开,如果没有,就在当前页面打开
type
指定在一个 MIME 类型链接目标的形式的媒体类型