前端后端数据交互:

201 阅读4分钟

HTTPS协议:

  • 它是加密的http协议,
  • 使用的主要目的是 提供对网站服务的身份验证,同时保护交换数据的隐私与完整性;

HTTP协议:

  • 概念: http协议是:客户端服务器 进行数据交互时 遵守的规范;
  • http协议是:有线网络传输协议中应用最广泛的一种;

HTTP协议的主要组成部分:

三次握手:

  • 在客户端和服务器正式创建链接之前http协议会自动执行的程序;
  • 主要作用: 通过TCP/IP协议来验证客户端和服务器都能正常工作;实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。
第一次握手:
 客户端向服务器发送链接请求报文,并传送规定的数据包;
1.  客户端:
    客户端可以确定 客户端可以正常的发送请求;
    服务器:
    服务器可以确定 服务器可以正常接收请求报文;
    服务器可以确定 客户端可以正常的发送请求报文;
    
第二次握手:
服务器端表示接收到连接请求报文;并且服务器回传给客户端规定的数据包;
1.客户端:
  客户端可以确定 客户端可以正常接收请求;
  客户端可以确定 服务器可以正常接收请求;
  客户端可以确定 服务器可以正常发送请求;
  服务器:
  服务器可以确定 服务器可以正常发送请求;

第三次握手:
首先客户端表示已经接收到服务器回传过来的数据包后; 给服务器再次发送数据包;
1.服务器:
  服务器可以确定 客户端可以正常接收请求;
  

四次挥手:

  • 客户端和服务器正式断开链接之前httph触发执行的程序;
  • 目的: 确保前端和后端都能正常断开链接;
第一次挥手:
客户端主动给服务器发送一个seq=u 的请求;

第二次挥手:
服务端接收到客户端关闭请求后,又对客户端做出响应ack= u+1;
服务器知道客户端要断开链接;
服务器自己也准备断开链接:
              服务端会等待一会客户端的响应结果;
              如果客户端没有响应结果,服务器会默认客户端断开链接,此时服务器会继续执行断开链接操作;
            
第三次挥手:
服务器向客户端发起断开链接请求,客户端接收到请求;
服务器告诉客户端,服务器已经断开链接;
服务器不再向客户端发送请求;
但是此时服务器可以接收请求;

第四挥手:
客户端接收到请求之后,对服务器做出响应;
客户端告诉服务器客户端也断开链接操作
客户端不再接收服务器发送的请求
但是 客户端可以向服务器发送请求操作;

请求报文:

  • 请求报文是客户端向服务器发送请求时执行的http程序;
  • http协议的请求报文在浏览器控制台中有显示;
1.请求行:
     请求方式:
     请求路径:
     请求协议和版本:
     
2.请求头:
       Accept:前段程序希望后端程序响应内容的格式;
       Host: 服务器url地址:端口号;
       Referer: 请求协议 + 服务器地址:端口号+文件路径;完成的url地址;
       Content-Type: application/x-www-form-urlencoded:
             post方式发送请求必须设定的请求头格式;
             get请求方式没有这个设定;
             如果是 form标签 发送请求 html会自动设定好;
             
3.请求空行:
       请求头和请求体代码之间的一个空行,在浏览器中没有显示;
       
4.请求体:用于携带请求中的数据参数;
      post方式才有请求体;
      get方式通过浏览器地址栏携带参数;
      get方式没有请求体;
      

响应报文:

  • 响应报文是服务器向客户端响应请求时 执行的http协议程序;
1.响应行:
       请求协议和版本:
       http协议状态码:
       http协议状态描述:
  
2.响应头:
        Server:服务器程序语言和版本;
        Data: 服务器事件 是世界标准时间;
        Content-type:响应体文件格式;
        X-Powered-By:后端语言和版本;
        
3.响应体: 本质是后端程序输出的内容;

HTTP状态码:

  • 使用 100 - 599 的数值 表示 http执行状态;但 不是100-599每一个数字都有意义;
            100-199
                表示 服务器接收请求成功 等待客户端下一步操作

            200-299
                表示 请求结束 并且 请求成功

            300-399
                重定向
                A向 C发送请求
                不是 A 直接向 C 发送请求 
                是 A 先向B 发送请求
                B 再向 C 发送请求

            400-499
                请求失败 失败原因是客户端造成的

            500-599
                请求失败 失败原因是服务器造成的