http - 尖括号在数据 URI 中有效吗?
问题描述
我一直在阅读有关Data URIs的内容,其中包含以下有效数据 URI 的示例:
data:text/html,<script>alert('hi');</script>
但是通过阅读RFC 2397我发现了以下内容:
dataurl := "data:" [ mediatype ] [ ";base64" ] "," data
mediatype := [ type "/" subtype ] *( ";" parameter )
data := *urlchar
parameter := attribute "=" value
其中“urlchar”是从RFC2396导入的
据我了解,这urlchar
应该是RFC2396 的第 2.4.3 节中的内容,其中记录了已排除的 US-ASCII 字符列表,并特别说明:
尖括号“<”和“>”以及双引号 (") 字符被排除在外,因为它们经常在文本文档和协议字段中用作 URI 周围的分隔符。
所以我的问题是,数据 URL 中是否允许使用尖括号?我是误解了 RFC 还是MDN上的例子错了?
解决方案
该示例确实是错误的(因为 Data URI 无效,尽管它可能“有效”)。
推荐阅读
- javascript - 同一列上两个值的自定义排序器
- vb.net - 在 If 语句 Vb.net 中使用 return
- java - 递归调用订单插入方法对整个链表进行排序时遇到问题
- php - 如何生成动态 IF 语句
- ios - 在 UIScrollView 中仅水平缩放 UIView
- javascript - 在 Typescript 中扩展 Jquery
- css - CSS - 正确的文本垂直居中对齐
- sql - 将配件与订单中的产品连接起来
- swift - 提前完成 UIViewPropertyAnimator 的一些动画
- sql - 如何在 Node.js 和 sqlite 中实现类似 backref 的查询?