自集成式 HTTP 代理方案,自集成式HTTP代理解决方案

马肤
摘要:采用自集成式HTTP代理方案,通过代理服务器实现网络请求的高速缓存和缓存优化,提高网络访问效率和响应速度。该方案具备灵活性和可扩展性,可轻松集成到现有网络架构中,适用于各种规模的网站和服务。通过代理服务器,可以实现对用户请求的监控和管理,提高网络安全性和数据隐私保护。该方案还能有效减少服务器负载,降低运营成本。

大多数程序员都会使用抓包代理工具,有没有一种集成在Web应用中的代理工具,可以带来不同的体验呢?

介绍一种明显区别于传统代理工具的特性:

1、零安装、零配置,Web点击即用、APP扫码即用,不同于传统的开盖即食,这里是直接喂到嘴里。

2、分享URL链接(或二维码),即可远程调试HTTP协助他人或调试移动设备。

3、用户可远程相互共享代理配置,无需手动导入导出。

以一个场景为例:

自集成式 HTTP 代理方案,自集成式HTTP代理解决方案 第1张

1、你是前端开发,当后端接口还没准备好(或有Bug时),产品或设计师想体验效果。

2、传统办法,你配好接口Mock,让产品使用你的设备体验。

3、当前方案,你配好接口Mock,发一个URL链接给产品即可远程体验。

自集成式 HTTP 代理方案,自集成式HTTP代理解决方案 第2张

它的原理是将代理服务与应用(Web网页或APP)集成,从而大幅降低用户(研测产运)的使用成本。

应用集成代理服务对应的SDK,自动转发请求到代理服务。

传统代理工具的主要成本:

自集成式 HTTP 代理方案,自集成式HTTP代理解决方案 第3张

1、下载安装代理程序,甚至收费。

2、配置系统代理(移动端更烦)、HTTPS证书。

3、同事之间共享代理规则(手动导入导出文件)。

自集成式 HTTP 代理方案,自集成式HTTP代理解决方案 第4张

这些成本带来了各种烦恼,也将非技术岗位拒之门外。

中午去吃饭时,手机突然断网,原来是刚刚网络调试,配置了系统代理!

笔者曾尝试过多款代理工具,始终有不满意的地方,多年前,在自己的开源项目Erra中探索新的代理方案,仍然不满意,遂放弃。

自集成式 HTTP 代理方案,自集成式HTTP代理解决方案 第5张

现将Erra的代理服务与工作中的应用集成,借鉴whistle的规则,再重新实现UI交互,觉得尚可。

以下对比笔者曾长期使用过的代理工具:

Charles LightProxy FF-Proxy
下载安装APP
配置操作系统代理
安装信任HTTPS证书
Mock方式 UI 文本规则 UI + 文本规则
Mock规则共享 导出规则文件 复制规则文本 在线分享
远程调试
通用HTTP请求代理
安装部署服务

该方案改进了工作中高频对特定应用(公司产品的域名、APP)进行网络调试的体验和效率,该方案是一个增强型能力,与通用代理工具(Charles、LightProxy等)没有任何冲突,不会影响习惯使用通用代理工具的同学,接下来介绍该方案的技术实现思路。

自集成式 HTTP 代理方案,自集成式HTTP代理解决方案 第6张

方案原理概览:

<img src="https://img-blog.csdnimg.cn/img_convert/511fa609a6ef4645b74f7dce62738b26.webp" alt="图片" width="691" height="396">

分为四个部分:与应用集成、代理服务提供网络调试界面(UI)、代理服务记录请求并同步到UI界面、代理服务在转发请求前、收到响应后按Mock规则篡改请求内容。

自集成式 HTTP 代理方案,自集成式HTTP代理解决方案 第7张

应用集成:是当前方案区别与代理工具的根本所在,也是能实现零安装、零配置便捷性的原因,集成是将代理服务对应的SDK注入到业务系统(网页或APP)中,SDK会拦截并转发请求到代理服务,集成SDK的方式有以下几种…… 拦截转发请求:向页面注入SDK(ff-sdk.js)后,根据URL Query参数决定是否开启拦截转发请求。…… HTTP请求变换协议:SDK拦截HTTP请求转到代理服务,然后还原再转到目标服务。…… 代理服务与UI交互:通过WebSocket保持通信。…… 抓包与Mock规则:远程调试的实现方式…… 数据存储:数据存储在浏览器的indexedDB中…… 相对传统代理的缺点…… 该方案的原理是将代理服务与应用集成……所以实施的前提是团队规模足够大…… ……希望对你有所帮助!


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码