前端发起网络请求的几种方式2

简介: 前端发起网络请求的几种方式2

前端发起网络请求的几种方式


当前,前后端分离已成为互联网项目开发的业界标准,通过JSON数据格式进行前后端数据的交互可以对整体项目进行有效的解耦,前后端分离也为项目未来的分布式架构、多端化服务扩展打下坚实的基础。


前后端分离,离不开前端代码与后端代码的数据交互。


那么前端都有哪几种向后端发起请求的方式呢?


navigator.sendBeacon


专为前端统计和诊断而生。


它会异步的以post方式发送数据到服务端


它会尝试在卸载(unload)文档之前向web服务器发送数据,不会影响页面渲染和阻塞页面,即使页面关闭,也不会影响其数据的发送,浏览器会对其进行调度,以确保其可靠性和最低影响性


不受跨域限制


仅IE不支持。

navigator.sendBeacon(url, data);


跨域下载JS请求


这是前端的根本,加载一个js脚本,无论是模块化,还是分包都会用到切割js,异步下载它。


不同的异步方式,加载执行的顺序会受浏览器影响。


静态前端库的专有CDN链接。


常见的跨域解决方案中的JSONP的解决方案也是跨域请求JS的典型。


form 表单提交


典型请求发起方式。


文件上传。


注意content-type的不同,以及参数的组装方式不同


代码示例:

<form action="/url" method="post">
    <input type="text" name="name"/>
    <input type="submit" value="提交">
 </form>


iframe 链接


本身设计用于引用完整的外部网站


因为也会自动发起一次网络请求,并且可以支持随后发起一系列请求。


常见用于外部广告、Hybird中原生与H5通信、后台管理系统。


css 请求


下载外部css样式文件


用于打点时原理类同于图片打点,都是会向服务器发出一次get请求。


以上就是几种常见的由前端发起网络请求的方式


当然前端与后端进行服务器通信还有其他的诸多方法,比如 webSocket ,比如App端的消息主动推送等等


相关文章
|
6月前
|
XML 存储 前端开发
前端网络请求真的搞懂了吗?解密前端参数传递方式,让开发更从容(三)
前端网络请求真的搞懂了吗?解密前端参数传递方式,让开发更从容
|
6月前
|
XML JSON 前端开发
前端网络请求真的搞懂了吗?解密前端参数传递方式,让开发更从容(二)
前端网络请求真的搞懂了吗?解密前端参数传递方式,让开发更从容
|
14天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
3月前
|
前端开发 算法 网络协议
如何学习计算机基础知识,打好前端和网络安全的基础
如何学习计算机基础知识,打好前端和网络安全的基础
53 4
|
3月前
|
前端开发 安全 网络安全
前端必备网络安全知识
【8月更文挑战第25天】前端必备网络安全知识
60 1
|
3月前
|
数据采集 资源调度 JavaScript
Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
【8月更文挑战第4天】Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
58 5
|
5月前
|
JavaScript 前端开发 网络协议
前端JS发起的请求能暂停吗?
在讨论前端JS发起的请求是否能暂停时,需要明确两个概念:什么状态可以被认为是“暂停”?以及什么是JS发起的请求?
486 1
前端JS发起的请求能暂停吗?
|
4月前
|
域名解析 缓存 网络协议
前端必备的网络知识 DNS CDN
前端必备的网络知识 DNS CDN
51 0
|
6月前
|
存储 缓存 监控
深入理解前端性能优化:从网络到渲染
网络优化包括减少HTTP请求、使用HTTP/2、开启GZIP压缩和缓存策略。资源加载优化涉及懒加载、预加载和预读取。渲染优化建议使用Critical CSS、减少CSS和JavaScript阻塞以及避免强制同步布局。Service Worker实现离线存储,性能监控使用Lighthouse等工具。动态导入和代码拆分减少初始加载时间,响应式图片适应不同设备。Web Workers处理耗时任务,避免内存泄漏。
90 3
|
6月前
|
存储 XML 前端开发
【Flutter前端技术开发专栏】Flutter中的网络请求与数据处理
【4月更文挑战第30天】本文介绍了Flutter开发中的网络请求和数据处理。 Flutter开发者可选择http(官方库)或dio(功能更强大)进行网络请求。http库简单易用,dio支持更多功能如拦截器。数据处理涉及JSON和XML解析,数据存储可选SharedPreferences或Hive,数据传递推荐使用InheritedWidget或Provider状态管理库。了解这些知识点能提升Flutter开发效率。
163 0
【Flutter前端技术开发专栏】Flutter中的网络请求与数据处理