服务器是一种提供服务的计算机系统,它可以接收、处理和响应来自其他计算机系统(客户端)的请求。服务器主要用于存储、处理和传输数据,以便客户端可以通过网络访问这些数据或服务。服务器可以是硬件设备,也可以是运行在硬件上的软件。
从硬件角度来看,服务器以机器的形式存在各个机房类似我们的PC电脑,实际是一个硬件设备。
从软件角度来看,服务器是运行在硬件设备上的软件,我们通过代码写后端服务,接收请求,处理逻辑:
在计算机科学中,后端服务通常是指应用程序的后端部分,负责处理业务逻辑、与数据库交互、执行算法等。后端服务通常运行在服务器上,提供数据和功能给客户端。它可以通过不同的协议(例如,HTTP、WebSocket)与前端或其他服务通信。
关于后端服务的一些关键概念:
总的来说,后端服务是构成分布式应用架构中的一部分,通过处理业务逻辑和数据管理,为前端或其他客户端提供服务。在现代应用程序中,通常采用前后端分离的架构,使得前端和后端能够独立开发和部署。我们学的后端技术,就是为了开发、部署、维护后端服务
在软件开发中,尤其是后端程序开发,通常会涉及多个不同的环境,以便进行开发、测试和部署。以下是一些常见的后端程序环境:
1. 开发环境(Development Environment):
用途:用于开发和调试代码。
特点:通常配置为开发人员本地机器上的环境,包含开发所需的所有工具、库和服务。
2. 测试环境(Testing Environment):
用途:用于进行单元测试、集成测试和系统测试。
特点:尽可能模拟生产环境,但通常规模较小,用于检测和解决代码中的问题。
3. 预发布环境(Staging Environment):
用途:用于测试部署到生产环境之前的最终版本。
特点:模拟生产环境,并使用生产环境相似的硬件和软件配置。
4. 生产环境(Production Environment):
用途:运行实际的生产应用程序,提供服务给最终用户。
特点:具有高可用性、性能优化和安全性,通常包括负载均衡、故障恢复机制等。
这些环境的设置有助于确保开发人员能够在相对隔离的环境中进行工作,同时在生产环境之前检测和解决潜在的问题。这也有助于提高软件质量、可靠性和可维护性。
在 Web 开发中,前端和后端是通过 HTTP 协议进行通信的。前端负责展示用户界面,而后端负责处理业务逻辑、与数据库交互以及提供数据和服务。以下是它们之间协作的一般过程:
1. 前端请求(Request):
2. 后端处理请求:
3. 数据库交互:
4. 生成响应(Response):
5. 前端接收响应:
6. 更新用户界面:
7. 用户交互:
这种前后端协作的方式被称为前后端分离(Frontend-Backend Separation)或前后端分离架构。在这种架构中,前端和后端是独立的系统,通过定义好的接口进行通信。这使得可以使用不同的技术栈来开发前端和后端,同时也更容易实现代码的重用和维护。
常见的前后端通信方式包括使用 RESTful API、GraphQL 等。RESTful API 是一种使用 HTTP 请求进行通信的方式,而 GraphQL 则允许前端请求指定其需要的数据结构。
假如要开发一个根据商品名称查询商品信息的功能(比如网页搜索商品),这用HTTP协议举例。
1. 前后端定义好接口传输的协议格式,一般都是json格式。
2. 定义好HTTP请求方法、接口名字、前端传参、后端返回的参数。
确定HTTP请求方法:
因为是查询功能,根据RESTful url的规定,HTTP请求方法是请求资源的动作,所以用GET请求。
接口名字:
起一个有意义的名字,这里是根据商品名称查询商品信息,因此接口路由起名叫 /search;
当前用 /query_by_name 也可以,合理即可;
前端将把请求发给这url,进行HTTP请求。
前端请求协议 request:
查询商品,那么我们要传入商品名称;
定义好参数名称,和参数value的数据结构,这里是string。
后端响应协议 response:
查询的结果可能如上图所示,这里在开发前应该找需求方确认好需求,心里有预期
需要给前端的信息:
我们可能只有需要知道商品的价格、名称、描述、店家、评价数目等。
搜索会搜索出很多商品信息,所以应该返回Json数组
开发:确认协议后前后端各自开发,互不影响
自测:根据协议,使用postman等工具,构造数据,测试样例进行自测,保证开发的后端功能正确,并且不影响其他接口
自测方式:使用postman等工具
本地多打日志观察数据正确性
前后端联调:
自测确认没问题了,和前端同学一起联调,实际上就是前端真正请求你后端接口的数据,观察前后端在真正请求时候的正确与否
如果联调有问题,再及时修改
提交代码,项目部署上线