HTML及相关
HTML语义化
HTML语义化就是让页面内容优化
1、易于用户阅读,样式丢失的时候能让页面呈现清晰的结构。
2、有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。
3、方便其他设备解析,如盲人阅读器根据语义渲染网页。
4、有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐。
HTML5新标签
有<header>、<footer>、<aside>、<nav>、<video>、<audio>、<canvas>等...
1
Cookie与Session
- Cookie 以文本文件格式存储在浏览器中,而 Session 存储在服务端。
- cookie 的存储限制了数据量,只允许4KB,而 Session 是无限量的。
- 我们可以轻松访问 Cookie 值但是我们无法轻松访问会话值,因此它更安全
- 设置 Cookie 时间可以使 Cookie 过期。但是使用session-destory(),我们将会销毁会话。
前端鉴权
- HTTP Basic Authentication:浏览器遵守http协议实现的基本授权方式,HTTP协议进行通信的过程中,HTTP协议定义了基本认证认证允许HTTP服务器对客户端进行用户身份证的方法
- session-cookie:第二种这个方式是利用服务器端的session(会话)和浏览器端的cookie来实现前后端的认证
- Token 验证:客户端使用用户名跟密码请求登录 ,服务端收到请求,去验证用户名与密码
- OAuth(开放授权):我们常见的提供OAuth认证服务的厂商有支付宝,QQ,微信
关于跨域的三种方法JSONP、CORS、postMessage
同源:
浏览器出于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明确授权的情况下,不能读写对方的资源。所以,当域名、协议、端口都相同时,视为属于同域。同域之间相互请求资源,就是同源。
跨域:
当协议,端口,域名中任何一个不相同的时候,都算做不同域。不同域之间相互请求资源,就是属于跨域。
JSONP
首先,先向后台通过函数传送一个参数,例如:<script src = "http://a.com?callback=json"></script>
然后,后台接收到这个参数之后,解析函数并将数据包裹在函数中,发送给前端。json({"a":"12","b":"45","c":"56"}).
前端将返回的数据当做js代码来执行。用户只用定义好函数,就可以在函数内部使用参数。
CORS "跨域资源共享"(Cross-origin resource sharing)
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
postMessage
Window.postMessage API的功能是允许程序员跨域在两个窗口/frames间发送数据信息。基本上,它就像跨域的ajax,但是它不是浏览器和服务器之间的交互,它是两个客户端之间的通信。