HTML、HTTP、Web综合面试题(二)
其他
2021-02-09 10:11:26
阅读次数: 0
1.html5有哪些新特性、移除了那些元素?
HTML5
现在已经不是 SGML
的⼦集,主要是关于图像,位置,存储,多任务等功能的增 加
- 绘画
canvas
- ⽤于媒介回放的
video
和 audio
元素
- 本地离线存储
localStorage
⻓期存储数据,浏览器关闭后数据不丢失
sessionStorage
的数据在浏览器关闭后⾃动删除
- 语意化更好的内容元素,⽐如
article
、footer
、 header
、nav
、 section
- 表单控件,
calendar
、 date
、 time
、 email
、 url
、search
- 新的技术
webworker
、 websocket
、 Geolocation
- 移除的元素:
- 纯表现的元素:
basefont
、 big
、center
、font
、s
、strike
、 tt
、u
- 对可⽤性产⽣负⾯影响的元素:
frame
、frameset
、oframes
- ⽀持
HTML5
新标签:
IE8/IE7/IE6
⽀持通过 document.createElement
⽅法产⽣的标签
- 可以利⽤这⼀特性让这些浏览器⽀持
HTML5
新标签
- 浏览器⽀持新标签后,还需要添加标签默认的样式
- 当然也可以直接使⽤成熟的框架、⽐如
html5shim
2.HTML5 的离线储存怎么使⽤,⼯作原理能不能解释⼀下?
- 在⽤户没有与因特⽹连接时,可以正常访问站点或应⽤,在⽤户与因特⽹连接时,更新⽤ 户机器上的缓存⽂件
- 原理:
HTML5
的离线存储是基于⼀个新建的 .appcache
⽂件的缓存机制(不是存储技 术),通过这个⽂件上的解析清单离线存储资源,这些资源就会像 cookie
⼀样被存储了下 来。之后当⽹络在处于离线状态下时,浏览器会通过被离线存储的数据进⾏⻚⾯展示
- 如何使⽤:
- ⻚⾯头部像下⾯⼀样加⼊⼀个
manifest
的属性
- 在
cache.manifest
⽂件的编写离线存储的资源
- 在离线状态时,操作
window.applicationCache
进⾏需求实现
3.浏览器是怎么对 HTML5 的离线储存资源进⾏管理和加载的呢
- 在线的情况下,浏览器发现
html
头部有 manifest
属性,它会请求 manifest
⽂件,如果是第⼀次访问 app
,那么浏览器就会根据manifest
⽂件的内容下载相应的资源并且进⾏ 离线存储。如果已经访过 app
并且资源已经离线存储了,那么浏览器就会使⽤离线的资 源加载⻚⾯,然后浏览器会对⽐新的manifest
⽂件与旧的 manifest
⽂件,如果⽂件没 有发⽣改变,就不做任何操作,如果⽂件改变了,么就会重新下载⽂件中的资源并进⾏ 离线存储。
- 离线的情况下,浏览器就直接使⽤离线存储的资源。
4.cookies , sessionStorage 和 localStorage 的区别?
cookie
是⽹站为了标示⽤户身份⽽储存在⽤户本地终端(Client Side
)上的数据(通常 经过加密)
cookie
数据始终在同源的http
请求中携带(即使不需要),记会在浏览器和服务器间来回 传递
sessionStorage
和 localStorage
不会⾃动把数据发给服务器,仅在本地保存
- 存储⼤⼩:
cookie
数据⼤⼩不能超过4k
sessionStorage
和localStorage
虽然也有存储⼤⼩的限制,但⽐cookie
⼤得 多,可以达到5M或更⼤
- 有期时间:
localStorage
存储持久数据,浏览器关闭后数据不丢失除⾮主动删除数据
sessionStorage
数据在当前浏览器窗⼝关闭后⾃动删除
cookie
设置的cookie
过期时间之前⼀直有效,即使窗⼝或浏览器关闭
5.iframe有那些缺点?
iframe
会阻塞主⻚⾯的 Onload
事件
- 搜索引擎的检索程序⽆法解读这种⻚⾯,不利于
SEO
iframe
和主⻚⾯共享连接池,⽽浏览器对相同域的连接有限制,所以会影响⻚⾯的并⾏ 加载
- 使⽤
iframe
之前需要考虑这两个缺点。如果需要使⽤ iframe
,最好是通过javascript
动态给 iframe
添加src
属性值,这样可以绕开以上两个问题
6.WEB标准以及W3C标准是什么?
- 标签闭合
- 标签⼩写
- 不乱嵌套
- 使⽤外链
css
和js
- 结构⾏为表现的分离
7.xhtml和html有什么区别?
- 主要是
XHTML
可兼容各⼤浏览器、⼿机以及 PDA
,并且浏览器也能快速正确地编译⽹ ⻚
XHTML
元素必须被正确地嵌套,闭合,区分⼤⼩写,⽂档必须拥有根元素
8.Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?
- ⻚⾯被加载的时,
link
会同时被加载,⽽ @imort
⻚⾯被加载的时, link
会同时被加 载,⽽ @import
引⽤的 CSS
会等到⻚⾯被加载完再加载import
只在 IE5
以上才能识 别,⽽ link
是 XHTML
标签,⽆兼容问题 link
⽅式的样式的权重 ⾼于 @import
的权 重
<!DOCTYPE>
声明位于⽂档中的最前⾯,处于<html>
标签之前。告知浏览器的解析 器, ⽤什么⽂档类型 规范来解析这个⽂档
- 严格模式的排版和
JS
运作模式是 以该浏览器⽀持的最⾼标准运⾏
- 在混杂模式中,⻚⾯以宽松的向后兼容的⽅式显示。模拟⽼式浏览器的⾏为以防⽌站点⽆ 法⼯作。
DOCTYPE
不存在或格式不正确会导致⽂档以混杂模式呈现
转载自blog.csdn.net/qq_44880095/article/details/113416323