有些人,一旦遇见,便一眼万年;有些心动,一旦开始,便覆水难收。 收藏本站
登陆 / 注册 搜索

阅读: 7.1K   回复: 3

[# 网络安全] WEB安全第六课 HTML语言 之七 特定类型的内容包含

小执念 古黑浩劫论坛大牛 2016-6-19 18:36 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
        除了文档内容无关的链接跳转和页面框架,HTML还能以较轻量的方式包含其他几种预定义的外部内容。


WEB安全第六课 HTML语言 之七 特定类型的内容包含 css101-main.jpg

        1.图片

        图片文件可以通过<img>标签进行加载并在页面上显示,其他使用方式还包括通过样式表和在<body>或<table>标签里设置“background=parameter”背景图片的古老做法。
        
        在互联网上最常见的图片类型就是质量一般但效率极高的JPEG文件,然后是质量较好功能较多(但加载也较慢)的PNG文件。现在已日渐趋于停用的GIF格式的质量好,也为各种浏览器所支持。另一种图片质量通常未经压缩的Windows位图文件(BMP)现在也已很少见到。越来越多的渲染引擎还支持SVG,这是一种XML格式的矢量图片和动画格式,但用<img>标签包含这种格式的图片会有一些额外的限制。
        
        浏览器能识别的各种乱七八糟的图片类型还包括Windows meta files(WMF和EMF)、Windows Media Photo(WDP和HDP)、Windows icons(ICO)、动画格式的PNG(APNG)、TIFF图片和近期出现的WebP。然而,并非所有的浏览器都支持以上这些类型的图片类型。

        2.层级样式表
        
        这种文本型的文件通过<link rel=stylesheet href=...>标签进行加载,甚或用更直观的方式<style src=...>也可以——样式表可以改变父文档(甚至在某些情况里,还包括内嵌的JavaScript)里几乎所有HTML标签的视觉效果。

        如果下载的样式表里其对应的Content-Type响应头没有合适的charset编码字符集设定,作为HTML页面的子资源,在用<link>标签包含该样式表时,可在<link>标签的字符集参数charset里设定其编码方式。
        
        3.客户端脚本
        
        客户端脚本是以<script>标签包含在HTML页面里的文本程序,JavaScript脚本对包含它的属主文档有全面的控制权。Web世界里最主要的客户端脚本语言就是JavaScript了,而IE浏览器还内置支持VisualBasic脚本,可以按需使用。
        
        和CSS—样,如果Content-Type响应头里没有适用的charset,在包含客户端脚本的页面里可以直接设置编码字符集。
        
        4.插件内容
        
        这个类别包括以<embed>、<object>标签以及已停用的Java专属<applet>方式包含的各种二进制文件。在很多情况下,可以把插件支持的内容看成等同于JavaScript脚本甚至更强大。
        
        注意:HTML标准允许某些浏览器支持的文档类型,如text/html或text/plain通过<object>标签进行加载,这种情况下,它们的作用和<iframe>差不多。这个功能在实际环境里并不会用到,也很难明白其设计思路。
        
        5.其他额外的内容类型
        
        该类别里包括一些浏览器可能支持也可能不支持的用于呈现提示的功能,最常见的形式是<link>指令,例如用于包含网站默认图标(又称favicon),或页面的另一版本,或章节之间的前后浏览。
        
        有几种浏览器曾经支持的内容包含,如用于背景音乐的<bgsound>标签,在过去很常见但现在已经慢慢退出历史舞台了。另外,作为HTML5的一部分,新的标签如<video>和<audio>预计会越来越普及。
        
        在加载各种类型相关的内容时,对允许接受怎样的URL策略一直缺乏统一的处理。按常理来说,应该一律不得引用外部程序的协议,因为在这种应用场景里,实在没有道理需要这么做,但除此以外,不应该做过多的假设了。出于安全的考虑,在加载图片和样式表时,绝大多数浏览器会拒绝使用脚本相关的协议,只有IE6和Opera浏览器的处理例外。对Firefox来说,在<embed>和<applet>标签里的URL部分设定可以用javascript:协议的形式,而在<img>标签里则不能用。
        
        对大多数与类型相关的内容包含方式来说,一般不需要理会服务器端提供的Content-Type和Content-Disposition响应头(可能这两个响应头里的字符编码参数“charset=value”是个例外),甚至连HTTP响应码也无须理会。对于服务器端提供的资源,我们只能假定只要其内容有可能被含混地辨识为本节里若干种数据格式之一,那在浏览器端就很可能会按这种格式进行解析。

WEB安全第七课第一节:层叠样式表 之一 CSS基本语法


耀眼的阳光 「出类拔萃」 2018-5-3 08:39 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

不错 支持一个了
清风霁月 「出类拔萃」 2018-5-3 12:26 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

本来我已决定不会再回任何帖子了,当我览遍无数烂贴、痛恨生不逢时,行走在思想的戈壁荒原、穷山恶水之间,感到前途渺茫、万念俱灰之际,却突然看到这样一篇绝世好贴!我真是热泪纵横、感激涕零告诉自己如此经典之贴是一定要回的!这正是千百年来版友翘首以待的好贴啊!
您需要登录后才可以回帖 登录 | 注册账号  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2020-9-24 22:06 , Processed in 0.041750 second(s), 24 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表