Day19

1-解决跨域问题的方法?

 1、 通过jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域资源共享(CORS)
7、 nginx代理跨域
8、 nodejs中间件代理跨域
9、 WebSocket协议跨域

2-提交请求 get 和 post 的区别?

1 GET在浏览器回退时是无害的,而POST会再次提交请求。

2GET产生的URL地址可以被Bookmark,而POST不可以。

3GET请求会被浏览器主动cache,而POST不会,除非手动设置。

4GET请求只能进行url编码,而POST支持多种编码方式。

5GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

6GET请求在URL中传送的参数是有长度限制的,而POST么有。

7对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

8GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

9GET参数通过URL传递,POST放在Request body中。

3-什么是渐进增强和优雅降级?

 渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

  优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

  区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。

4-针对页面性能优化,有哪些方案?

1. html压缩

html代码压缩就是压缩这些在文本文件中有意义,但是在HTML中不显示的字符,包括空格,制表符,换行符等,还有一些其他意义的字符,如HTML注释也可以被压缩。

如何进行html压缩:

  1. 使用在线网站进行压缩(开发过程中一般不用)
  2. nodejs 提供了html-minifier工具
  3. 后端模板引擎渲染压缩

2. css代码压缩:

css代码压缩简单来说就是无效代码删除和css语义合并

如何进行css压缩:

  1. 使用在线网站进行压缩(开发过程中一般不用)
  2. 使用html-minifier工具
  3. 使用clean-css对css压缩

3. js的压缩和混乱

js的压缩和混乱主要包括以下这几部分:

  1. 无效字符的删除
  2. 剔除注释
  3. 代码语义的缩减和优化
  4. 代码保护(代码逻辑变得混乱,降低代码的可读性,这点很重要)

如何进行js的压缩和混乱

  1. 使用在线网站进行压缩(开发过程中一般不用)
  2. 使用html-minifier工具
  3. 使用uglifyjs2对js进行压缩

其实css压缩与js的压缩和混乱比html压缩收益要大得多,同时css代码和js代码比html代码多得多,通过css压缩和js压缩带来流量的减少,会非常明显。所以对大公司来说,html压缩可有可无,但css压缩与js的压缩和混乱必须要有!

posted @ 2021-02-19 17:33  景沁同学  阅读(48)  评论(0)    收藏  举报