6. 跨域:首先一个url是由:协议、域名、端口 三部分组成。(一般端口默认80)当一个请求url的协议、域名、端口三者之间的任意一个与当前页面url不同即为跨域。
跨域产生原因
出于浏览器的同源策略限制. 同源策略是一种约定,它是浏览器核心也最基本的安全功能,它会阻止一个域的js脚本和另外一个域的内容进行交互,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击.
非同源会出现的限制 无法读取非同源网页的cookie、localstorage等 无法接触非同源网页的DOM和js对象 无法向非同源地址发送Ajax请求
解决跨域
1)nginx反向代理解决跨域
例如:nginx是静态服务器,跨域请求放在api下面好管理http://www.baidu.com:80/api/user 可以在nginx下面的config下面的nginx.conf里面配置 从80端口进来的就拦截一下,代理到81端口
2)添加响应头解决跨域
PHP端修改header:header('Access-Control-Allow-Origin:*');//允许所有来源访问
header('Access-Control-Allow-Method:POST,GET');//允许访问的方式
3)通过jsonp解决跨域
实现原理:通常为了减轻web服务器的负载,我们把js、css、图片等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源,而被浏览器允许.html中有的标签天然支持跨域,比如但是只支持get请求。
7.懒加载
懒加载也就是延迟加载。具体表现为: