网络相关基础面试题

50 阅读2分钟

状态码

  • 1xx: 服务器接收到请求,正在处理
  • 2xx: 成功状态码
  • 3xx: 重定向状态码,服务器不接收,需要重定向到其他位置
    • 301: 永久重定向
    • 302: 临时重定向
    • 304: 本地有缓存,资源未修改
  • 4xx: 客户端错误状态码
    • 403: 没有权限
    • 404: 请求地址错误
  • 5xx: 服务器错误状态码
    • 500: 服务器错误
    • 504: 网关超时

GET, POST和PUT请求

  • GET:
    • 缓存: get请求会被缓存
    • 安全性: 不安全,因为get请求会将请求参数放到url中向服务器发送,,请求的url会被保存在历史记录中所以不安全
    • 应用场景:一般用于不会对数据库数据产生影响的请求
  • POST:
    • 缓存: post请求不会被缓存
    • 安全性: 安全
    • 应用场景: 一般用于对数据库数据增加删除的场景
  • PUT:
    • 应用场景: 一般用于数据库数据修改的场景

HTTP && HTTPS

  • HTTPS需要CA证书,费用比http高
  • http是超文本传输协议,而https是ssl加密传输协议更加的安全
  • 端口不同,http是80端口,https是443端口

浏览器按下回车后经历了什么

  • URL解析: 分析请求url的传输协议和请求的资源路径
  • 缓存判断: 如果存在缓存且数据没变,直接调用缓存内容,否则继续
  • DNS解析: 通过dns解析请求地址未ip地址
  • 获取mac地址
  • tcp三次握手
  • 如果是https请求存在一个第四次握手的过程进行加密
  • 返回数据
  • 页面渲染
  • tcp四次挥手

TCP && UDP

  • TCP: 是可靠的面向连接的协议, 允许将一台主机的字节流按顺序传递到目标主机
  • UDP: 无连接,不可靠的协议, 主要用于不要求分组顺序到达的传输