Node.JS教程17:开发一个正向代理服务器!
什么是正向代理服务器?
我们在浏览网站时,浏览器直接与网站服务器进行通信。如果在本地建立一个代理服务器,浏览器通过它,再与网站通信,那么这台代理服务器就是正向代理服务器。
正向代理服务器常用于代理上网、数据截取分析等。
题外话:
有正向代理,就是反向代理。
与正向代理相对应,反向代理服务器假设在网站一方。
当用户通过浏览器访问网站时,数据收该反向代理服务器接收,再转发给网站服务器,这种代理服务器,称之为反向代理服务器。
反向代理常用于网站防护,WAF(Web应用防火墙),就是典型的反向代理服务器WAF。
换个角度看:客户端用的是正向代理服务器;服务器端用的是反向代理服务器。
本文将开发一个http正向代理服务器:
完整代码如下:
代码解读:
1、整个代码,会建立一个http服务器,并监听8080端口:
2、当接收到请求信息时,从请求头发获取信息并进行转发:
3、以上两点最重要,其余就是对信息输出,以方便我们了解到代理是否生效、代理内容如何等:
注:以下使用测试时的设置:
对浏览器设置http代理:
当然,事先是需要启动我们刚写好的代理服务器的。
访问一个网页,就可以在命令行看到各种信息输出:
同时,浏览器中,当然网页也是可以正常打开。