计算机网络基础

计算机网络基础

DNS & CDN

  • DNS 域名系统
    计算机网络基础_第1张图片

  • DNS工具
    |- dig 用来查询dns的小工具
    |- nslookup 交互查询域名服务工具
    |- host

  • CDN 内容分发网络(通常存放变动频率底的资源)
    |-基于地理位置的分布式代理服务器/数据中心
    |- 提高可用性
    |- 提升性能
    |- 提升体验

HTTP 基本方法

    GET     - 从服务器获取资源
    POST    - 在服务端创建资源
    PUT     - 在服务器修改资源(幂等性=>post调用十次会创建10次资源,但是put只会创建一次资源)
    DELETE  - 在服务器删除资源
    OPTION  - 跨域

常见的HTTP状态码

1xx 提供信息
  • 100 continue
  • 101 协议切换 (websocket)
2xx 请求成功
  • 200 ok表示成功
  • 201 表示已创建请求
  • 202 表示已接收
  • 203 非权威内容(表示他原始服务器的内容在中间其他服务器被修改过,-代理服务器)
  • 204 没有内容 put请求有这种情况
  • 205 重置内容
  • 206 服务器只下发部分内容
3xx 重定向
  • 300 用户请求了多个选项的资源(资源列表)
  • 301 永久转移
  • 302 资源被找到(一起是临时转移)(被拆分为303、307)
  • 303 可以使用GET方法在另一个URL找到资源
  • 304 没有修改(这个资源没有再请求一次)
  • 305 需要代理(访问网站没有访问权限)
  • 307 临时重定向(不改变方法,post请求就还是会post过去)
  • 308 永久重定向(不改变方法,post请求就还是会post过去)

面试解惑

    301和308的区别
        共同点:
            资源被永久移动到新的地址
        差异:
            客户端收到308请求后,之前是什么method,那么之后也会沿用这个method到新地址
            客户端收到301请求后,通常用户会向新地址发起GET请求

    303和307的区别
        共同点:
            资源临时放到新地址(请不要缓存)
        差异:
            301是http1.0提出的,最早交做Moved Temporarily;很多浏览器实现的时候没有遵循标准,把所有的请求都重定向为GET
            1999年增加了303/307,并将302重新定义为Found
            303告诉客户端使用GET方法重定向资源
            307告诉客户端使用原请求的method重定向资源

4xx 客户端错误
  • 400 请求格式错误
  • 401 没有授权
  • 402 请先付费
  • 403 禁止访问
  • 404 没有找到
  • 405 方法不被允许(请求方式不正确)
  • 406 服务端可以提供的内容和客户端期待的不一样(例如编码错误)
5xx 服务端错误
  • 500 服务器内部错误(服务器出bug)
  • 501 没有实现(缺少接口)
  • 502 网关错误
  • 503 服务不可用
  • 504 网关超时
  • 505 版本不支持

常见的HTTP头

计算机网络基础_第2张图片


HTTPS证书、加密

  • 对称加密、非对称加密

  • HTTPS 是对称加密和非对称加密混合使用,通过非对称加密生成固定秘钥形成对称加密

  • HTTPS工作原理:
    计算机网络基础_第3张图片

  • 第一个握手:客户端发送syn标志位和seq num,请求服务器建立连接,客户端状态从关闭更改为syn_send

  • 第二次握手:服务端返回syn和ack标志位、ack num和seq num,确认第一次握手的报文段,返回acknum=seqnum(1 (第一次握手中发送),同意建立连接,服务器

  • 第三次握手:发送确认消息段,返回ack和acknum=seqnum(2 (第二次握手传输的) 1,客户端状态为) established,服务器返回确认消息段


TCP / UDP

  • Internet 协议群(TCP/IP协议群)

    • 应用层 (http协议)
    • 传输层 (TCP/UDP->HTTP3.0)
    • 网络层 (IP)
    • 链接层
    • 物理层
  • UDP比TCP节省网络资源和迅速
    |- 不需要建立链接(延迟更低)
    |- 封包体积小(传输速度快)
    |- 不关心数据顺序(不需要序列号和ACK,传输快速)
    |- 不保证数据不丢失

  • HTTP2.0优化内容

    • 多路复用
    • 防止队头阻塞
    • 压缩HTTP头部
    • 服务端推送
  • HTTP3.0优化内容 QUIC

  • UDP把自由度给了用户,使用的人少;TCP自由度低,用的人多。(以为数据传输可靠性算法复杂所以TCP用的人多)

  • HTTP2.0/HTTP3.0都兼容HTTP1.1

你可能感兴趣的:(公用,计算机网络,服务器,网络,网络协议)