前后端通信到底是怎样一个过程

这篇具有很好参考价值的文章主要介绍了前后端通信到底是怎样一个过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前后端通信是怎样

前言:Http协议

超文本传输协议

规定:每一次前后端通信,前端需要主动向后端发出请求,后端接收到前端的请求后,可以给出响应

1、Http报文
  • 浏览器向服务器发送请求时,请求本身就是信息,叫请求报文
  • 服务器向浏览器发送响应时传输的信息,叫响应报文

报文格式

1、请求

请求头:起始行+首部

请求体(只有POST发送数据才有,GET没有)

(GET 请求,没有请求体,数据通过请求头携带;POST 请求,有请求体,数据通过请求体携带)

2、响应

响应头: 起始行+首部

响应体

前后端通信到底是怎样一个过程,杂七杂八,前端,信息与通信

2、请求过程

前后端通信到底是怎样一个过程,杂七杂八,前端,信息与通信

3、Http方法
  • GET 获取数据获取资源(文件)
  • POST 创建数据注册
  • PUT 更新数据修改个人信息,修改密码
  • DELETE 删除数据删除一条评论
4、RESTful 接口设计

一种接口设计风格,充分利用 HTTP 方法的语义

1、通过用户 ID 获取个人信息,使用 GET 方法

通常: https://wwwimooc.com/api/http/getUser?id=1

发挥GET语意: https://www.imooc.com/api/http/user?id=1

2、注册新用户,使用 POST 方法

通常: https://www.imooc.com/api/http/addUser

发挥POST语意:https://www.imooc.com/api/http/user

3、修改一个用户,使用 PUT 方法

通常:https://www.imooc.com/api/http/modifyUser

发挥POST语意:https://www.imooc.com/api/http/user

4、删除一个用户,使用 DELETE 方法

通常:https://www.imooc.com/api/http/deleteUser

发挥POST语意:https://www.imooc.com/api/http/user

5、GET和POST差别

1、缓存

GET 可以被缓存,POST 不会被缓存

2、安全性

GET 和 POST 都不安全

发送密码或其他敏感信息时不要使用 GET,主要是避免直接被他人窥屏或通过历史记录找到你的密码

6、Http状态码

定义服务器对请求的处理结果,是服务器返回的

100-199 一般信息100 websocket_VScode自动刷新页面
200-299 成功响应 200 OK
300-399 重定向 301 Moved Permanently_永久老网址转新网址 /304_缓存有效
400-499 客户端错误404 Not Found_自己错误,地址不存在
500-599 服务端错误500 Internal Server Error

0、前后端数据交换的过程

1、浏览器和服务器之间数据交互的过程

2、客户端到后端服务器的交互

后端向前端发送数据

例如刷新浏览器网页,F12中的Network看到后端向浏览器推送JS文件,图片,html,css等(在命令行中curl命令,也可以与后端交互,但是浏览器的优点就是能展示出页面)

1、浏览器先拿到一个html文件

2、在或中有常用的<link引用css>,<img引用图片>,<script引用js>等外延标签,异步向服务器发送请求

3、例如<a超链接><form表单>,只有使用的时候发送请求

4、Ajax和Fetch

前端向后端发送数据

注册页面,接收数据,后端存储数据

1、浏览器构造http请求发给操作系统

协议:浏览器常用的http,https协议,文件协议file,远程传输协议ftp

域名:www.baidu.com 这就是域名,域名也对应着一个ip

端口:http协议的端口80,https是443,开发和测试环境常用的8080(常用的ssh链接是22端口)

路由/路径:访问网站默认到根部录下/index.html文件下

查询参数:在访问百度的时候,直接在wd跟上参数:https://www.baidu.com/s?wd=北京

前后端通信到底是怎样一个过程,杂七杂八,前端,信息与通信

2、http请求转为ip包转发到公网

操作系统把http报文转换为tcp/ip 的包

把域名转为ip,先去查询本地host文件,后面再去查询DNS服务器

在这里就不得不提一下CDN内容加速网络了,那么CDN是如何实现网站的加速呢?

CDN内容分发网络:CDN+DNS共同实现用户的加速访问

原理:减少漫长的路由转发,就近访问备份资源

1、通过配置网站的CDN,提前让CDN的中间节点OC备份一份内容,在分发给用户侧的SOC边缘节点,这样就能就近拉取资源。不用每次都通过漫长的路由导航到源站。

2、但是要达到加速的效果,还需要把真实域名的IP更改到CDN的IP,所有这里还需要DNS的帮助,这里一般都会求助用户本地运营商搭建的权威DNS域名解析服务器,用户请求逐级请求各级域名,本来应该会返回真实的IP地址,但是通过配置会返回给用户一个CDN的IP地址,CDN的权威服务器再讲距离用户最近的那台CDN服务器IP地址返回给用户,这样就实现了CDN加速的效果。

前后端通信到底是怎样一个过程,杂七杂八,前端,信息与通信

客户端通过cookie和session保持会话,确保来自同一客户端。例如:保存购物车信息等

前后端通信到底是怎样一个过程,杂七杂八,前端,信息与通信

3、http请求转为ip包转发到公网

路由转发

4、获取并且返回文件

浏览器加载内容: html,css,js 渲染&执行脚本

前端路由解析

JS发送AJAX 请求:1、本域的api的后台 2、跨域第三方的服务器

前后端通信到底是怎样一个过程,杂七杂八,前端,信息与通信文章来源地址https://www.toymoban.com/news/detail-728875.html

到了这里,关于前后端通信到底是怎样一个过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器杂七杂八的知识/常识归纳(不断更新)

    pID(Process ID,进程标识符)和端口号是不同的概念。 pID是操作系统中用来唯一标识一个正在运行的进程的数字。每个正在运行的进程都会被分配一个唯一的pID,它可以用来追踪和管理进程。 而端口号是在网络通信中使用的一种标识,用于区分不同的应用程序或服务。在计算

    2024年02月14日
    浏览(56)
  • rpc入门笔记 0x02 protobuf的杂七杂八

    安装grpcio和grpcio-tools库 生成proto的python文件 python -m grpc_tools.protoc :使用grpc_tools包中的protoc命令进行代码生成。 --python_out=. :指定生成的Python代码的存放位置为当前目录。 --grpc_python_out=. :指定生成的gRPC代码的存放位置为当前目录。 -I. :指定搜索.proto文件的路径为当前目录

    2024年02月08日
    浏览(59)
  • 一个http请求的全过程是怎样的?

    在理解http请求之前先认识几个知识点: HTTP和浏览器原理* 1.浏览器输入 url 到呈现出内容发生了什么 (1)浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求; (2)服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等); (3)浏览器对加

    2024年02月11日
    浏览(45)
  • 薪资17K是一个怎样的水平?来看看98年测试工程师的面试全过程…

    大概介绍一下个人情况,男,本科,三年多测试工作经验,懂python,会写脚本,会selenium,会性能,然而到今天都没有收到一份offer!从年后就开始准备简历,年后上班的第一天就开始投,开始只是投了一些官网已久的岗位,并没有收到面试邀请,得到的都是不匹配的反馈,一

    2023年04月23日
    浏览(54)
  • 阿里 P7 到底是怎样的水平?

    大家谈到阿里 P7,第一反应可能就是年薪百万,我们先看一下阿里的职级体系。 P7 一般薪水在 70-100 万之间,超过 100 万的屈指可数,除非你是阿里 5 年以上的老 P7,薪资构成包括现金和股票: 现金部分:大概的月薪应该是 35K-45K 左右,年薪在 50-60W 左右; 股票部分:平均每

    2024年02月05日
    浏览(41)
  • 中国版的chatGPT“文心一言“到底怎样?

    GPT4的提前发布,把压力着实给到百度了!在ChatGPT引爆聊天机器人领域后的数月,我们终于迎来了国内的第一款生成式对话产品。 3月16日14:00,百度文心一言新闻发布会于百度北京总部正式召开。百度创始人、董事长兼CEO李彦宏也实现了自己此前的诺言,将酷技术真正变成了

    2024年02月11日
    浏览(40)
  • AIGC时代,软件测试智能化到底会怎样?

    AI技术在软件测试领域的应用比软件开发早。早在上个世纪七、八十年代,软件测试就开始应用采用遗传算法生成测试数据,到九十年代,其研究和应用逐渐增多,从单元测试、接口测试到GUI的系统测试, 提供自动化的测试用例生成、自动化的测试执行和评估等功能,取得了

    2024年03月20日
    浏览(57)
  • 【TCP服务器的演变过程】编写第一个TCP服务器:实现一对一的连接通信

    手把手教你从0开始编写TCP服务器程序,体验 开局一块砖,大厦全靠垒 。 为了避免篇幅过长使读者感到乏味,对【TCP服务器的开发】进行分阶段实现,一步步进行优化升级。 函数原型: 这个函数建立一个协议族、协议类型、协议编号的socket文件描述符。如果函数调用成功,

    2024年02月03日
    浏览(55)
  • 【动画详解人工智能原理】Tranformer 模型中的注意力机制的工作过程是怎样的 ?一个带有注意力的 Seq2seq 模型的机制实例视频动画详细讲解

    Seq2seq 序列到序列模型是深度学习模型,在机器翻译、文本摘要和图像字幕等任务中取得了很多成功。谷歌翻译于 2016 年底开始在生产中使用此类模型。两篇开创性论文(Sutskever 等人,2014 年,Cho 等人,2014 年)对这

    2024年02月07日
    浏览(52)
  • 浏览器中怎样查看前后端传值

    路径:F12–Network --Fetch/XHR,选择一个接口地址。 在payload里面是前端发送给后端的参数。也即客户端发送给服务端的请求数据,即接口地址入参。 Preview和Response里都是后端返回给前端的。Preview是格式化过的,比较容易看。Response是一行过,一样的数值。

    2024年02月10日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包