LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 395|回复: 0

网安 - web数据交互

[复制链接]
发表于 2024-1-13 14:34:20 | 显示全部楼层 |阅读模式
1.1.2.1. 简单数据交互
在Web技术发展最初,前后端交互大部分都使用Web表单、XML、SOAP等较为简单的方式。

1.1.2.2. Ajax
在开始的时候,用户提交整个表单后才能获取结果,用户体验极差。于是Ajax (Asynchronous Javascript And XML) 技术逐渐流行起来,它使得应用在不更新整个页面的前提下也可以获得或更新数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。

1.1.2.3. RESTful
在CGI时期,前后端通常是没有做严格区分的,随着解耦和的需求不断增加,前后端的概念开始变得清晰。前端主要指网站前台部分,运行在PC端、移动端等浏览器上展现给用户浏览的网页,由HTML5、CSS3、JavaScript组成。后端主要指网站的逻辑部分,涉及数据的增删改查等。

此时,REST (Representation State Transformation) 逐渐成为一种流行的Web架构风格。

REST鼓励基于URL来组织系统功能,充分利用HTTP本身的语义,而不是仅仅将HTTP作为一种远程数据传输协议。一般RESTful有以下的特征:

域名和主域名分开
api.example.com
example.com/api/
带有版本控制
api.example.com/v1
api.example.com/v2
使用URL定位资源
GET /users 获取所有用户
GET /team/:team/users 获取某团队所有用户
POST /users 创建用户
PATCH/PUT /users 修改某个用户数据
DELETE /users 删除某个用户数据
用 HTTP 动词描述操作
GET 获取资源,单个或多个
POST 创建资源
PUT/PATCH 更新资源,客户端提供完整的资源数据
DELETE 删除资源
正确使用状态码
使用状态码提高返回数据的可读性
默认使用 JSON 作为数据响应格式
有清晰的文档
1.1.2.4. GraphQL
部分网络服务场景的数据有复杂的依赖关系,为了应对这些场景,Facebook 推出了 GraphQL ,以图状数据结构对数据进行查询存储。部分网站也应用了 GraphQL 作为 API 交互的方式。

1.1.2.5. 二进制
随着业务对性能的要求提高,前后端开始使用HTTP/2、自定义Protocol Buffer等方式来加快数据交互。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表