乐趣区

网络之HTTPHTTPS

前言

大学老师曾经说过,计算机界有三本天书,分别是:数据结构、计算机组成原理、计算机网络。所以网络也是我们从事计算机开发必须了解且掌握的一门技术

网络七层模型

  • 应用层
    访问网络服务的端口,如 HTTP 传输‘hello,world’
  • 表示层
    提供数据格式转换
  • 会话层
    建立端连接并提供访问验证 如 SSL/TLS 认证
  • 传输层
    UDP/TCP +‘hello,world’
  • 网络层
    IP + UDP/TCP +‘hello,world’
  • 数据链路层
    MAC 地址 + IP + UDP/TCP +‘hello,world’+ 帧尾
  • 物理层
    传输二进制 01010101001

HTTP

  1. 请求 / 相应报文

      ** 请求报文包括:**
          请求方法
          URL
          协议版本 HTTP1.0
          首部字段名
          请求体(POST 请求)** 响应报文包括:**
          版本
          状态码
          短语
          首部字段名
          响应实体
  2. 请求方法
    GET:

       代表获取资源
       特点:安全:不应该引起 Server 端的任何状态变化
           幂等:请求多次的结果一样
           可缓存:代理服务器可以缓存

    POST:

       代表处理资源
       特点:不安全
           不幂等
           不可缓存

    HEAD
    OPTION
    PUT

  3. 状态码
    200:

       请求成功

    300:

       请求重定向

    400:

       由于客户端请求地址和参数引用的失败

    500:

       服务端原因           
  4. 连接接建立流程
    TCP:

       三次握手、四次挥手
  5. HTTP 特点
    无连接:

       每次请求都需要建立 TCP 连接

    无状态

       不会保存记录用户的信息和状态
  6. 解决 HTTP 无连接问题
    在同一条 TCP 上面产生多次 HTTP 请求
    头部字段(Header):

       Connection:keep-live
       Time: 20 在一定时间内不需要再次建立 TCP 连接
       Max:在建立连接时间内最多请求次数

    判断一个请求的结束?

       Content-length
       空 chunked
  7. 解决 HTTP 无状态问题
    解决方案:Cookie / Session
  8. 列表项目
退出移动版