3.HTTP知识填坑

HTTP的一个流程 以chrome为例

  1. Chrome搜索自身的DNS缓存 查看DNS缓存chrome://net-internals/#dns
  2. 搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
  3. 读取本地的HOST文件
  4. 浏览器发起一个DNS的一个系统调用
    浏览器发起DNS步骤
    • 宽带运营商服务器查本身缓存
    • 运营商服务器发起一个迭代DNS解析请求

运营商服务器把结果返回操作系统内核同事缓存起来
操作系统内核把结果返回浏览器,最终浏览器拿到了对应的ip地址

  1. 浏览器获得域名对应的IP地址后,发起HTTP'三次握手'
    TCP请求:握手

    • 客户端:你能听到嘛,唠唠
    • 服务端:能听到,唠唠
    • 客户端:行唠唠
  2. TCP/IP 连接建立起来后,浏览器就可以向服务发送HTTP请求了使用了比如说,用HTTP的GET方法请求一个根域里的一个域名,协议可以采用HTTP 1.0的一个协议

  3. 服务器端接受了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的一个结果的数据返回给浏览器,如果是慕课网的页面就会把完整的HTML页面代码返回给浏览器

  4. 浏览器拿到了慕课网的完整的HTML页面代码,在解析和渲染这个页面的时候,里面的JS,CSS、图片静态资源,他们同样也是一个个HTTP请求都需要经过上面的七个步骤

  5. 浏览器根据拿到的资源对页面进行渲染,最终吧一个完整的页面呈现给了用户

graph TB
响应-->http头和正文信息
请求-->http头和正文信息
  • 常用请求方式

  • get

  • post

  • 状态码

成功的状态码:
200 – 服务器成功返回网页
304 – 未修改
失败的状态码:
404 – 请求的网页不存在
503 – 服务器暂时不可用
500 – 服务器内部错误

你可能感兴趣的:(3.HTTP知识填坑)