前端与http的交互

203 阅读1分钟

http 原理

http协议定义了web端如何想服务端请求web页面,以及服务端如何将web页面传给客户端。

客户端向服务端发起请求报文
请求报文结构:

请求行(request line): method url 协议版本 head
(空行)
body(data)

响应报文结构:

状态行 协议版本 返回状态 (如 http/1.1 200 ok)
head
(空行)
body(data|html)

http 返回状态

200 ok 请求成功
400 客户端请求语法错误
401 未授权
403 服务端接收但拒绝
404 服务端not found
500 服务端错误
503 服务端暂时出错无法响应

HTTP 请求/响应 步骤

  1. 客户端连接到web服务器 客户端与服务端建立TCP套接字连接(三次握手协议)
  2. 发起http请求(request) 通过TCP套接字,客户端想web服务器发送请求报文。
  3. 服务器接受http请求并返回响应(response) web解析请求定位请求资源(这里面的工作就看业务代码了)。服务器将资源复写到TCP套接字,返回给客户端。
  4. 释放TCP连接 通过四次握手 释放连接

在浏览器中输入url后会经历以下流程:

  1. 浏览器请求dns服务器解析url对应的ip
  2. web端通过ip和端口号与服务端建立tcp连接
  3. web端在三手协议的第三次报文的时候向服务端发送url上对应的文件请求。
  4. 服务端响应并返回 对应的html
  5. 通过四次握手四方TCP连接
  6. 浏览器渲染返回的html