常见的HTTP请求方法
- GET: 获取资源
- POST:提交、上传数据
- PUT:修改数据
- DELETE:删除资源
- CONNECT:建立链接隧道,用于代理服务器
- OPTIONS:列出可对资源实行的请求方法,用于跨域请求
- HEAD:获取资源元信息
- TRACE:追踪请求响应的传输路径
get和post的区别
-
get会被浏览器缓存起来,post不会
-
get只能进行URL编码,post没有限制
-
get一般放在URL中,post放在请求体中,传输敏感信息
-
get具有幂等性,执行相同的操作返回相同的结果
-
200 客户端的请求被服务器正确处理
-
204 客户端的请求被服务器正确处理了,但是没有内容返回
-
206 客户端进行了范围请求,服务器执行了这部分get请求
-
301 永久重定向
-
302 临时重定向
-
304 命中协商缓存后返回
-
400 请求报文存在语法错误
-
401 发送的请求有需要通过http认证的认证信息
-
403 请求资源的访问被服务器拒绝了
-
404:服务器上无法找到请求的资源
-
405 该请求方法不被服务器允许
-
500 服务器执行请求时发生了错误
-
503 服务器处于负载或停机无法处理请求
XSS攻击是什么
xss:跨站脚本攻击 浏览器向服务器发送请求时被注入脚本攻击 攻击类型: 存储型,反射型,DOM型 防御措施:输入输出过滤、加http-only请求头,锁死cookie
CSRF是什么
csrf:跨站请求伪造 黑客通过网站B诱使用户访问已经登录了的网站B,进行一些违背用户意愿的操作 防范措施:请求时验证http请求头的refer信息、请求时传token,加验证码
cookie localstorage sessionStorage的区别
共同点:都存储在客户端 不同点 cookie存储大小不超过4k,session和local存储比cookie大得多,可以达到5mb+ cookie在设置的过期时间之前一直有效,localstorage为永久存储,浏览器关闭后数据不丢失除非删除数据,sesion数据在关闭当前浏览器窗口后自动删除 cookie数据会自动传递到服务器,s和l数据保存在本地
浏览器同源策略
协议、域名、端口一致
解决跨域CORS和JSONP
CORS:修改响应头 如res.header('access-control-allow-origin','') '': 代表任意的域 JSONP:在前端定义一个handleCallback函数,然后通过script标签传入callback=handleCallback,在服务器中使用handleCallback传入数据,在前端就可以拿到数据