浏览器网络

826 阅读3分钟
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,资源更新重新缓存)
  • 详情可以看这篇文章彻底理解浏览器的缓存机制