1.HTTP状态码及其含义?
(1)1xx:信息状态码;
100 Continue : 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息;
(2)2xx:成功状态码;
200 OK:正常返回信息;
201 Created:请求成功并且服务器创建了新的资源;
202 Accepted:服务器已接受请求,但尚未处理;
(3)3xx:重定向
301 Moved Permanently:请求的网页已经移动到新位置;
302 Found:临时性重定向;
303 See Other:临时性重定向,且总是使用GET请求新的URI;
304 Not Modified:自从上次请求后,请求的网页未修改过;
(4)4xx:客户点错误
400 Bad Request:服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求;
401 Unauthorized:请求未授权;
403 Forbidden:禁止访问;
404 Not Found:找不到如何与URI相匹配的资源;
(5)5xx:服务器错误
500 Internal Server Error:最常见的服务器端错误;
503 Service Unavailable:服务器端暂时无法处理请求(可能是过载或维护).
2.语义化的理解
(1)用正确的标签做正确的事情!
(2)HTML语义化就是让页面的内容结构化,便于对浏览器,搜索引擎解析;
(3)在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;
(4)搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于SEO;
(5)使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解.
3.对浏览器内核的理解?
(1)主要分为两部分:渲染引擎(layout engineer || Rendering Engine)和JS引擎;
(2)渲染引擎:负责取得网页的内容(HTML,XML,图像等),整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机.浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同.所有网页浏览器,电子邮件客户端以及其他需要编辑,显示网格内容的应用程序都需要内核;
(3)JS引擎:解析和执行JavaScript来实现网页的动态效果
(4)最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎.
(5)常见的浏览器内核有哪些?
Trident : IE,MaxThon,TT,The World,360,搜狗.[MSHTML];
Gecko : Netscape6+,FF,MozillaSuite/SeaMonkey等;
Presto : Opera7+ ,[原为Presto,现为Blink];
Webkit : Safari,Chrome等.
4.html5有哪些新特性,移除了哪些元素?
新增的元素:
(1)新增选择器document.querySelector,document.querySelectorAll;
(2)拖拽释放(Drag & drop)API;
(3)媒体播放的video和audio
(4)本地存储localStorage和sessionStorage;
(5)离线应用manifest;
(6)桌面通知Notifications;
(7)语义化标签article,footer,header,nav,section;
(8)增强表单控件calendar,date,time,email,url,search;
(9)地理位置Geolocation;
(10)多任务webworker;
(11)全双工通信协议websocket;
(12)历史管理history;
(13)跨域资源共享(CORS)Access-Control-Allow-Origin;
(14)页面可见性改变事件visibilitychange
(15)跨窗口通信PostMessage;
(16)Form Date对象;
(17)绘画canvas;
移除的元素:
(1)纯表现的元素:basefont,big,center,font,s,strike,tt,u;
(2)对可用性产生负面影响的元素:frame,frameset,noframes;
支持HTML5新标签:
(1)IE8/IE7/IE6支持通过document.createElement方法产生新的标签;
(2)可以利用这一特性让这些浏览器支持HTML5新标签;
(3)浏览器支持新特性后,还需要添加标签默认的样式;
(4)可以使用成熟的框架比如html5shim.
5.HTML5的离线存储如何使用,工作原理?
(1)在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件.
(2)原理:HTML5离线缓存是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来.之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示.
(3)如何使用:
CACHE MANIFEST
#v0.11
CACHE:
js/app.js
css/style.css
NETWORK:
resourse/logo.png
FALLBACK:
/offline.html
/*
1.页面头部像上面一样加入一个manifset的属性;
2.在cache.manifest文件编写离线存储资源;
3.在离线状态时,操作window.applicationCache进行需求实现.
*/