网络相关

1. HTTP协议

超文本传输协议

  • 请求/响应报文
    • 请求


      image
    • 响应


      image
    • 请求方式

      • GET
        • 请求参数以?分割拼接到URL后面
        • 参数长度限制2048个字符
        • 不安全
      • POST
        • 请求参数在Body里面
        • 参数长度没有限制
        • 比较安全
      image
      安全:不应该引起server端的任何状态变化
      幂等性:同一个请求方法执行多次和执行一次的效果完全相同
      可缓存性: 请求是否可以被缓存
      
      • HEAD
      • PUT
      • DELETE
      • OPTIONS
  • 状态码


    image
  • 连接建立流程


    image
  • HTTP的特点
    • 无连接
      • HTTP的持久连接


        image
        • 头部字段
          • Connection : keep-alive
          • time : 20 —— 连接保持多久
          • max : 10 —— 最多可以发送多少次
        • 怎样判断请求结束
          • Content-length : 1024
          • chunked,最后会有一个空的chunked
        • Charles抓包原理
          • 中间人攻击漏洞


            image
    • 无状态
      • Cookie/Session

2. HTTPS与网络安全

  • HTTPS和HTTP的区别


    image
  • HTTPS连接建立流程


    image

    image
  • HTTPS采用的加密手段


    image
    • 非对称加密


      image
    • 对称加密


      image

3. TCP/UDP

image
  • UDP
    • 特点
      • 无连接
      • 尽最大努力交付
      • 面向报文,既不合并,也不拆分


        image
    • 功能
      • 复用
      • 分用


        image
      • 差错检测


        image
  • TCP
    • 特点
      • 面向连接
        • 数据传输开始之前需要建立连接
          • 三次握手 —— 规避请求超时异常
        • 数据传输结束之后需要释放连接
          • 四次挥手 ——
      • 可靠传输
        • 无差错

        • 不丢失

        • 不重复

        • 按序到达

        • 停止等待协议

          • 无差错情况


            image
          • 超时重传


            image
          • 确认丢失


            image
          • 确认迟到


            image
      • 面向字节流


        image
      • 流量控制
        • 滑动窗口协议


          image
      • 拥塞控制
        • 慢开始、拥塞避免


          image
        • 快恢复、快重传

4. DNS解析

image
  • DNS解析查询方式
    • 递归查询


      image
    • 迭代查询


      image
  • 常见问题
    • DNS劫持问题


      image
      • 和HTTP没有关系
        • DNS解析发生在HTTP建立连接之前
        • DNS解析请求使用UDP数据报,端口号53
      • 解决
        • httpDNS


          image

          image
        • 长连接


          image
    • DNS解析转发问题


      image

5. Session/Cookie

Cookie
  • HTTP协议无状态特点的补偿


    image

    image
    • 客户端发送的cookie在http请求报文的Cookie首部字段中
    • 服务器端设置http响应报文的Set-Cookie首部字段
  • 修改cookie
    • 新cookie覆盖旧cookie
    • 覆盖规则:name、path、domain等需要与原cookie一致
  • 删除cookie
    • 新cookie覆盖旧cookie
    • 覆盖规则:name、path、domain等需要与原cookie一致
    • 设置cookie的expires=过去的一个时间点,或者maxAge=0
  • 如何保证cookie的安全
    • 加密处理
    • 只在https上携带cookie
    • 设置Cookie为httpOnly,防止跨站脚本攻击
Session
image

image

你可能感兴趣的:(网络相关)