1.常用http状态码
- 200 成功状态码
- 301 永久重定向,302 临时重定向
- 400 请求语法错误, 401 请求需要http认证,403 不允许访问资源,404 资源未找到
- 500 服务器内部错误,502 访问时出错,503 服务器忙,无法响应
2.https原理
- http协议:客户端浏览器与web服务器之间的应用层通讯协议
- https协议:HTTP+SSL/TLS,http下加入SSL层,https安全基础时SSL,用于安全的HTTP数据传输
- https优势:内容经过对称加密,每个连接会生成唯一的加密密钥,内容经过完整性校验,第三方无法伪造身份
- 使用对称加密(加密和解密使用的是同一个密钥)被中间人拦截,中间人可以获取密钥,就可以对传输的信息进行窥视和篡改
- 使用非对称密钥(双方必须协商一对密钥,一个私钥和一个公钥)用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据,只有对应的私钥才能解密,弊端:RSA算法很慢
- 非对称密钥+对称密钥(结合两者优点)
- 客户端获取公钥确认服务器身份通过SSL证书,客户端接受到服务端发来的SSL证书给客户端
3.前端安全
- XSS攻击:注入恶意代码来攻击。攻击者在目标网站上注入恶意代码,被攻击者登陆网站执行这些恶意代码,这些脚本可以读取 cookie,session tokens,或者其它敏感的网站信息,对用户进行钓鱼欺诈(打开新标签跳转,新标签存在恶意代码,跳转到伪造的页面),网页植入广告等。
- XSS攻击防御手段:禁止JavaScript读取某些敏感cookie,限制输入内容和长度控制,检测是否有恶意代码注入
- CSRF攻击:诱导用户进入第三方,获取到登录凭证,冒充用户对被攻击的站点执行操作,导致账号被劫持
- 防御CSRF攻击:验证token(请求服务器时,返回token,每个请求需要加上token),
5.浏览器缓存
- 浏览器每次发起请求,都会在浏览器缓存中查找请求结果和缓存标识,浏览器每次拿到的数据会将结果和标识存入浏览器中
- 强制缓存:当浏览器向服务器发起请求时,服务器会将缓存规则放入HTTP响应报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是Expires和Cache-Control,其中Cache-Control优先级比Expires高。
- 协商缓存:强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程。(协商缓存生效,服务器返回304,资源未更新,协商缓存失效,服务器返回200,资源更新重新缓存)
- 详情可以看这篇文章彻底理解浏览器的缓存机制