前后端交互模型http协议Ajax简介

news2024/11/26 17:00:27

0、前言:本文只是对“前后端交互模型&http协议&Ajax简介”当中的理论,作用,方法进行总结说明,用于回顾知识,做概括总结,没有具体实现代码。


1、前后端交互模型:

  • 前端发送请求,后端响应请求。
  • 除了http协议还有一些其他协议,比如TCP协议是应用在游戏当中的,还有UDP协议。
    在这里插入图片描述

2、http协议的特点:

  • 1、前后端交互,大部分用http协议。
  • 2、先请求,再响应,传输数据类型多。
  • 3、请求一次后会立刻断开,节省服务器资源。
  • 4、包含请求头和请求体
  • 5、http状态码简介:200是正常、400是异常、500是服务器错误

3、Ajax简介:

  • 是一种可以创建交互网页开发的网页开发技术,可以使网页与服务器数据进行局部交互。
  • 特点是可以通过异步请求实现。
  • 流程:通过Ajax制作网络异步或同步请求——对获取得到数据(一般是json格式)作解析——对解析得到的数据通过js操作嵌入到网页标签中。
  • 注意:在通过Ajax进行前端与后端服务器进行交互的过程中,可能会遇到跨域问题,对于跨域问题,首先要了解同源策略(同源策略是一种浏览器安全策略,要求域名(ip)、协议(http)、端口都要一致),对于跨域问题,解决方案如下:
    • 1、前后端代码都放在同一服务器
    • 2、后端设置允许跨域
    • 3、绕过同源策略,不用Ajax,使用Jsonp
  • 在前后端交互中常用到的两种请求:get和post
    • 1、get用作数据量小的交互(2k),速度快,常用于获取数据,也可以提交数据,其参数可以通过url直接传递给后端。
    • 2、post用作数据量大的交互(4G以内),速度慢,常用于提交数据,也可以获取数据,其参数通过send函数,放在http请求体中模拟表单传递给后端。

4、Jsonp技术:

  • 作用:解决跨域问题,绕过Ajax进行前后端交互。
  • 实现方法:前端直接调用后端url,后端返回一个html的传参函数字符串,该字符串在返回到前端后,会自动识别为函数执行,但是要确保前端中存在该函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/598550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信号机制上(信号概念、发送、定时器、信号捕捉、SIGCHLD)

一、信号机制 概念:信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 所有信号的产生及处理全部都是由内核完成的 信号的产生: 1 按键产生 2 系统调用函数产生(比如raise, kill) 3 硬件异…

连接MQTT服务端

MQTT客户端之间要想实现通讯,必须要通过MQTT服务端。因此MQTT客户端无论是发布消息还是订阅消息,首先都要连接MQTT服务端。 MQTT客户端连接服务端一共有两步。 第一步(CONNECT请求) 首先MQTT客户端将会向服务端发送连接请求。该…

HBase 的关键流程解析

前言 本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 正文 HBase 客户端会将查询过的 HRegion 的位置信息…

【Python爬虫】采集电商商品评价信息

目录 一、数据采集逻辑二、数据Schema三、数据爬取1.导入库2.对爬虫程序进行伪装3.抓取商品评论信息4.防止反爬,每爬取一页数据后,设置程序休眠环节 四、数据存储1. 存储到csv 2.存储到数据库 一、数据采集逻辑 在进行数据采集之前,明确哪些…

Linux下C语言文件描述符操作(dup / dup2 / sendfile / splice / tee)

Linux的哲学是一切皆文件&#xff0c;而操作文件是通过文件描述符来进行。本文梳理一下dup / dup2 / sendfile / splice/ tee函数对文件描述符的操作。 目录 1.dup 2.dup2 3.sendfile 4.splice 5.tee 1.dup #include <unistd.h> int dup(int fd); 复制一个现有的…

Java基础(maven)——maven新建项目 常用IO工具 Durid数据库工具 案例

目录 引出用Maven建项目0.Maven配置方式1.io流的工具IOUtils/FileUtils1&#xff09;可以读文件、按照行读、读网页等&#xff1b;2&#xff09;配合hasmap进行简体繁体转换 2.durid数据库连接工具1&#xff09;创建连接&#xff0c;durid进行连接管理2&#xff09;查询的方式q…

chatgpt赋能python:Python中的转置函数-一种简单而高效的矩阵操作

Python中的转置函数 - 一种简单而高效的矩阵操作 作为一名10年的Python编程经验工程师&#xff0c;掌握利用Python进行矩阵操作是必不可少的。Python中提供了各种高效的矩阵操作功能&#xff0c;其中之一就是转置函数。 什么是转置&#xff1f; 在数学中&#xff0c;矩阵转置…

追寻幸福:探索幸福的关键特征和行为

目录 1. 积极的心态 2. 良好的人际关系 3. 自我接纳和自尊 4. 追求意义和目标 5. 健康的身心状态 6. 感知和实现个人价值 幸福是一个主观的感受&#xff0c;因此不同的人对于幸福的定义和追求方式可能会有所不同。然而&#xff0c;有一些共同的特点和行为模式&#xff0c…

【数据结构】难度上一个台阶的二叉树实现

【数据结构】难度上一个台阶的二叉树实现 一、什么是树和二叉树&#xff1f;二、目标三、实现3.1、初始化工作3.2、二叉树的前序遍历3.2.1、原理图解3.2.2、代码实现 3.3、二叉树的创建3.3.1、原理解析3.3.2、代码实现 3.4、二叉树的中序遍历3.5、二叉树的后序遍历3.6、二叉树的…

K8S系列文章之快速入门K8S

搭建K8S环境 前置 目前生产部署Kubernetes 集群主要有两种方式&#xff1a; kubeadm Kubeadm 是一个K8s 部署工具&#xff0c;提供kubeadm init 和kubeadm join&#xff0c;用于快速部署Kubernetes 集群。 官方地址&#xff1a;https://kubernetes.io/docs/reference/setu…

ChatGPT出来后,为什么老有人想让我们程序员失业?

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;2022年度博客之星前端领域TOP 2&#xff0c;前端领域优质作者、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步…

【LeetCode每日一题】——1248.统计「优美子数组」

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 滑动窗口 二【题目难度】 中等 三【题目编号】 1248.统计「优美子数组」 四【题目描述】 给…

NVIDIA NCCL 源码学习(十)- 多机间ncclSend和ncclRecv的过程

先回忆一下单机的执行流程&#xff0c;用户执行ncclSend之后通过ncclEnqueueCheck将sendbuff&#xff0c;sendbytes&#xff0c;peer等信息保存到了comm->p2plist中&#xff1b;然后执行ncclGroupEnd&#xff0c;如果发现channel没有建立到peer的链接则先建链&#xff0c;然…

深入理解设计原则之接口隔离原则(ISP)

系列文章目录 C高性能优化编程系列 深入理解设计原则系列 深入理解设计模式系列 高级C并发线程编程 LSP&#xff1a;接口隔离原则 系列文章目录1、接口隔离原则的定义和解读2、案例解读3、如何判断一个接口是否符合接口隔离原则&#xff1f;小结 1、接口隔离原则的定义和解读…

网络工程师一定要会关键技能:如何进行IP子网划分?

对于所有从事IP网络方面工作的工程师来说&#xff0c;进行IP子网划分操作属于一个必备的关键技能&#xff0c;也属于必须掌握的专业内容&#xff1b;但对于初学者来说&#xff0c;真正理解IP子网划分的概念也是一件相当困难的事情。 怎样才能正确地进行子网划分操作 IP子网划…

影响现代办公室隔断设计的因素有哪些,办公室隔断设计方案要求

影响现代办公室隔断设计的因素有哪些 1. 办公空间的用途和功能要求 2. 员工数量及工作场所的布局 3. 设计风格和企业文化要求 4. 预算和材料选择 5. 环保节能和安全性要求 办公室隔断设计方案要求&#xff1a; 1. 合理利用空间&#xff0c;满足办公室的功能需求 2. 设计…

Creepypastsa VoxEdit 竞赛

召唤所有恐怖都市传闻爱好者。 通过 Creepypasta VoxEdit 竞赛&#xff0c;潜入黑暗领域&#xff0c;并释放你们的创造力&#xff01;踏入阴森恐怖的神秘世界&#xff0c;把你最可怕的噩梦变成现实&#xff01; 设计终极的 Creepypasta 体素资产 你是恐怖大师吗&#xff1f;是一…

RHCE 作业三

1.基于域名访问网站 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# systemctl disable firewalld [rootserver ~]# yum install httpd -y [rootserver ~]# systemctl start httpd [rootserver ~]# syst…

npm发包/发布群组过程记录

目录 创建群组 本地发包 1、初始化本地的包到群组 2、 登录npm账号 3、设置公开库 4、发布到npm上 5、升级更新发布 创建群组 打开npm的网站&#xff0c;登录个人账户密码--->点击右侧上方个人的头像--->在下拉框点击【add Organization】 接下来会出现一个添加群…

C语言 打印杨辉三角

杨辉三角的前五行如下&#xff1a; 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1、首先我们可以定义定义一个5行5列的二维数组 代码&#xff1a; int main() {int arr[5][5] { 0 };初始化int i 0;int j 0;//循环输出for (i 0; i < 5; i) {for (j 0; j <5; j) {printf("…