前端必须知道的网络请求

127 阅读3分钟

http协议

1.在浏览器输入地址后会发生什么

​ ①DNS解析,获取ip地址

​ ②浏览器需要和服务器建立联系(TCP/IP)(三次握手)

​ ③向服务器发生请求 (http协议)

​ ④服务器处理请求,返回响应(http协议)

​ ⑤浏览器将响应的页面渲染

​ ⑥断开和服务器的连接(四次挥手)

2.客户端如何和服务器建立(断开)连接

​	三次握手是客户端和服务器建立**连接**的过程

    ​	①客户端向服务器发送连接请求(SYN)

    ​	②服务器收到连接请求,向客户端返回消息(SYN,ACK)			

    ​	③客户端向服务器发送同意连接的信息(ACK)					

​	四次挥手是客户端和服务器建立**断开**的过程

    ​	①客户端向服务器发送请求,通知服务器数据发送完毕,请求断开连接(FIN)

    ​	②服务器向客户端返回数据,知道了(ACK)

    ​	③服务器向客户端返回数据,收完了,可以断开连接了(FIN,ACK)			
    
    ​	④客户端向服务器发数据,可以断开了(ACK)

​ 网络通信的过程由四层组成

  • ​ 应用层 ---软件层面,浏览器,服务器都属于
  • ​ 传输层 ---负责对数据拆分,将大数据拆分为小数据
  • ​ 网络层 ---负责给数据包,添加信息
  • ​ 数据链路层 ---传输信息

服务器

​ 一个服务器的主要功能

​ (1)可以接收到浏览器发送的请求报文

​ (2)可以向浏览返回响应报文

报文

  • ​ · 浏览器的服务器之间通信给予请求和响应的
    • ​ 浏览器向服务器发送请求(request)
    • ​ 服务器向浏览器返回响应(response)
    • ​ 服务器给浏览器返回响应,传递的信息就是报文
    • ​ HTTP协议是对报文的格式进行规定的

​ 请求报文的格式:

  • ​ 请求首行 请求方式 + 文件地址 + 协议版本
  • ​ 请求头 (名值对)
  • ​ 空行
  • ​ 请求体 get请求没有

get请求

​ get请求用来向服务器请求获得资源 一般查询资源

​ get通过查询字符串将数据发送给服务器

​ 弊端

​ (1)字符串会在地址栏中展示出来 安全性低

​ (2)因为URL地址栏有限制长度 无法上传多数据

post请求

​ poat请求用来向服务器发送数据 一般提交表单

​ post通过载荷中的请求体发送数据给服务器

​ 请求体不会被数据长度限制 发送信息给服务器最好post

响应报文的格式:

  • 响应首行

  • 响应头(名值对)

  • 空行

  • 响应体

响应首行中包含了响应状态码,响应状态码的规则如下:

​ ·响应状态码的规则:

  • 1xx:请求处理中

  • 2xx:表示成功

  • 3xx:表示请求的重定向

  • 4xx:表示客户端的错误

  • 5xx:表示服务器的错误