1、http请求的方式get和post的区别包括
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。
5.get安全性非常低,post安全性较高。
2、常见的Web攻击手段?
- XSS攻击
- CSRF攻击
- SQL注入攻击
- 文件上传漏洞
- DDoS攻击
- 其他攻击手段
3、关于JavaScript里的xml处理,以下说明正确的是
A. Xml是种可扩展标记语言,格式更规范,是作为未来html的替代
B. Xml一般用于传输和存储数据,是对html的补充,两者的目的不同(错误的)
C. 在JavaScript里解析和处理xml数据时,因为浏览器的不同,其做法也不同
D. 在IE浏览器里处理xml,首先需要创建ActiveXObject对象
4、Web前端性能优化
1 业务逻辑时使用时间复杂度低的算法
2 减少网络请求数量=>利用缓存技术,减少HTTP请求次数或文件下载次数,将共有图片,第三方JS插件库或者CSS放到CDN上
3 资源的压缩,包括css、js =>利用项目构建工具,如gulp, grunt, webpack等等
4 图片的压缩=>雪碧图,图标字体文件
5 使用缓存
5、你有哪些性能优化的方法?
(1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。
(2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数
(3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。
(4) 当需要设置的样式很多时设置className而不是直接操作style。
(5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。
(6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。
(7) 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。
6、输出什的结果是什么?为什么?
setTimeout(function(){
var np=new Promise(function(resolve,reject){
console.log(1)
resolve()
})
np.then(_ => {
console.log(2)
})
console.log(3)
}, 1000)
var pro=new Promise((resolve,reject)=>{
console.log(5)
resolve()
}).then(_ => {
setTimeout(function() {
console.log(6)
},0)
return 7;
}).then(n => {
console.log(n)
})
console.log(4)
输出:
5
4
7
6
1
3
2
可以看出Promise比setTimeout()先执行。
因为Promise定义之后便会立即执行,其后的.then()是异步里面的微任务。
而setTimeout()是异步的宏任务。