博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML、HTTP、Web综合面试题(二)
阅读量:3959 次
发布时间:2019-05-24

本文共 2278 字,大约阅读时间需要 7 分钟。

1.html5有哪些新特性、移除了那些元素?

  • HTML5 现在已经不是 SGML 的⼦集,主要是关于图像,位置,存储,多任务等功能的增 加
    1. 绘画 canvas
    2. ⽤于媒介回放的 videoaudio 元素
    3. 本地离线存储 localStorage ⻓期存储数据,浏览器关闭后数据不丢失
    4. sessionStorage 的数据在浏览器关闭后⾃动删除
    5. 语意化更好的内容元素,⽐如 articlefooterheadernavsection
    6. 表单控件, calendardatetimeemailurlsearch
    7. 新的技术 webworkerwebsocketGeolocation
  • 移除的元素:
    1. 纯表现的元素: basefontbigcenterfontsstrikettu
    2. 对可⽤性产⽣负⾯影响的元素: frameframesetoframes
  • ⽀持 HTML5新标签:
    1. IE8/IE7/IE6⽀持通过 document.createElement⽅法产⽣的标签
    2. 可以利⽤这⼀特性让这些浏览器⽀持 HTML5 新标签
    3. 浏览器⽀持新标签后,还需要添加标签默认的样式
  • 当然也可以直接使⽤成熟的框架、⽐如 html5shim

2.HTML5 的离线储存怎么使⽤,⼯作原理能不能解释⼀下?

  • 在⽤户没有与因特⽹连接时,可以正常访问站点或应⽤,在⽤户与因特⽹连接时,更新⽤ 户机器上的缓存⽂件
  • 原理:HTML5 的离线存储是基于⼀个新建的 .appcache ⽂件的缓存机制(不是存储技 术),通过这个⽂件上的解析清单离线存储资源,这些资源就会像 cookie ⼀样被存储了下 来。之后当⽹络在处于离线状态下时,浏览器会通过被离线存储的数据进⾏⻚⾯展示
  • 如何使⽤:
    1. ⻚⾯头部像下⾯⼀样加⼊⼀个 manifest 的属性
    2. cache.manifest⽂件的编写离线存储的资源
    3. 在离线状态时,操作 window.applicationCache进⾏需求实现

3.浏览器是怎么对 HTML5 的离线储存资源进⾏管理和加载的呢

  • 在线的情况下,浏览器发现 html 头部有 manifest属性,它会请求 manifest ⽂件,如果是第⼀次访问 app ,那么浏览器就会根据manifest⽂件的内容下载相应的资源并且进⾏ 离线存储。如果已经访过 app 并且资源已经离线存储了,那么浏览器就会使⽤离线的资 源加载⻚⾯,然后浏览器会对⽐新的manifest ⽂件与旧的 manifest ⽂件,如果⽂件没 有发⽣改变,就不做任何操作,如果⽂件改变了,么就会重新下载⽂件中的资源并进⾏ 离线存储。
  • 离线的情况下,浏览器就直接使⽤离线存储的资源。

4.cookies , sessionStorage 和 localStorage 的区别?

  • cookie 是⽹站为了标示⽤户身份⽽储存在⽤户本地终端(Client Side)上的数据(通常 经过加密)
  • cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回 传递
  • sessionStoragelocalStorage 不会⾃动把数据发给服务器,仅在本地保存
  • 存储⼤⼩:
    1. cookie 数据⼤⼩不能超过4k
    2. sessionStoragelocalStorage 虽然也有存储⼤⼩的限制,但⽐cookie ⼤得 多,可以达到5M或更⼤
  • 有期时间:
    1. localStorage 存储持久数据,浏览器关闭后数据不丢失除⾮主动删除数据
    2. sessionStorage 数据在当前浏览器窗⼝关闭后⾃动删除
    3. cookie 设置的cookie过期时间之前⼀直有效,即使窗⼝或浏览器关闭

5.iframe有那些缺点?

  • iframe 会阻塞主⻚⾯的 Onload 事件
  • 搜索引擎的检索程序⽆法解读这种⻚⾯,不利于 SEO
  • iframe 和主⻚⾯共享连接池,⽽浏览器对相同域的连接有限制,所以会影响⻚⾯的并⾏ 加载
  • 使⽤ iframe 之前需要考虑这两个缺点。如果需要使⽤ iframe ,最好是通过javascript 动态给 iframe添加src 属性值,这样可以绕开以上两个问题

6.WEB标准以及W3C标准是什么?

  • 标签闭合
  • 标签⼩写
  • 不乱嵌套
  • 使⽤外链 cssjs
  • 结构⾏为表现的分离

7.xhtml和html有什么区别?

  • 主要是 XHTML 可兼容各⼤浏览器、⼿机以及 PDA ,并且浏览器也能快速正确地编译⽹ ⻚
  • XHTML 元素必须被正确地嵌套,闭合,区分⼤⼩写,⽂档必须拥有根元素

8.Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?

  • ⻚⾯被加载的时, link 会同时被加载,⽽ @imort⻚⾯被加载的时, link 会同时被加 载,⽽ @import 引⽤的 CSS会等到⻚⾯被加载完再加载import只在 IE5 以上才能识 别,⽽ linkXHTML 标签,⽆兼容问题 link ⽅式的样式的权重 ⾼于 @import的权 重
  • <!DOCTYPE> 声明位于⽂档中的最前⾯,处于<html> 标签之前。告知浏览器的解析 器, ⽤什么⽂档类型 规范来解析这个⽂档
  • 严格模式的排版和 JS运作模式是 以该浏览器⽀持的最⾼标准运⾏
  • 在混杂模式中,⻚⾯以宽松的向后兼容的⽅式显示。模拟⽼式浏览器的⾏为以防⽌站点⽆ 法⼯作。 DOCTYPE 不存在或格式不正确会导致⽂档以混杂模式呈现

转载地址:http://mnozi.baihongyu.com/

你可能感兴趣的文章
"undefined reference to" 多种可能出现的问题解决方法
查看>>
类结构定义
查看>>
Windows下关于多线程类 CSemaphore,CMutex,CCriticalSection,CEvent,信号量CSemaphore的使用介绍
查看>>
图像处理基本算法(汇总)以及实现
查看>>
C++编程获取本机网卡信息 本机IP 包括Windows和Linux
查看>>
23种设计模式详解及C++实现
查看>>
C++连接CTP接口实现简单量化交易
查看>>
服务端使用c++实现websocket协议解析及通信
查看>>
C# string.Format使用说明
查看>>
Linux下安装Mysql数据库开发环境
查看>>
Linux用户及用户组添加和删除操作
查看>>
通用 Makefile 的编写方法以及多目录 makefile 写法
查看>>
C++的4种智能指针剖析使用
查看>>
RPC框架实现之容灾策略
查看>>
Docker私库
查看>>
hdu——1106排序(重定向)
查看>>
hdu——1556Color the ball(树状数组)
查看>>
hdu——1541Stars(树状数组)
查看>>
快速幂的精简代码
查看>>
求大数乘方的前n位数字(对数加快速幂)
查看>>