使用Node实现Http代理

本文介绍了如何使用Node.js开发一款静态资源服务emptyd-server,探讨了代理的由来——同源策略限制,并讨论了服务端代理在解决跨域问题上的应用。通过原生Node.js代码实现了一个简单的HTTP代理,揭示了代理作为中间人如何在客户端和服务端之间传递HTTP报文,以隐藏客户端IP。这是一个代理模式在实际开发中的应用示例。
摘要由CSDN通过智能技术生成

开发一款基于nodejs的静态资源服务 emptyd-server
代理的出现是因为浏览器同源策略的存在
服务端实现代理的例子和方法很多 比如nginx 反向代理解决生产环境的跨域问题
再有http-server等一些第三方的包帮我处理 基本达到了开箱即用的体验
通常我们所说的代理来源于http1.1的定义,代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务端来说,它是客户端。它就负责在两端之间来回传送 HTTP 报文
假如我通过代理访问A网站,对于A来说,它会把代理当做客户端,完全察觉不到真正客户端的存在,这实现了隐藏客户端IP的目的。
但是他们到底是如何实现的 ,值得一探究竟,下面是用原生nodejs 写个以后个代理

const http = require("http");
const url = require("url");
//首先启动本地服务器
http.createServer(function(req, res) {
   
  //客户端请求有两种方式,可以是对象,也可以是url字符串
  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值