帮助中心

   

热门搜索: 免费续期  推广  永久会员

简单的HTTP代理服务器的实现

HTTP代理服务(proxy server) 器就是客户端也是服务端,是一个事务处理的中间人。下面小编来简单的介绍一下http代理服务器的实现功能。

 

在指定端口(例如 8080)接收来自客户的 HTTP 请求并且根据其中的 URL 地址访问该地址所指向的 HTTP 服务器(原服务器),接收 HTTP 服务器的响应报文,并将响应报文转发给对应的客户进行浏览 。

支持 Cache 功能:求能缓存原服务器响应的对象,并能够通过修改请求报文(添加 If-Modified-Since 头行),向原服务器确认缓存对象是否是最新版本 。

 

网站过滤:允许/不允许重点内容访问某些网站 。

 

用户过滤:支持/不支持某些用户访问外部网站 。

 

网站引导:将用户对某个网站的访问引导至一个模拟网站 。

 

代理服务器的作用有很多,例如:儿童过滤器、文档访问控制、安全防火墙、web缓存等等。下面介绍一下代理服务器简单的实现步骤 。

 

1、加载套接字库,创建套接字 。

 

2、初始化套接字:设置 IP 地址和端口等属性 。

 

3、代理服务器接收客户端发送的 TCP 请求报文,并解析 HTTP 头部(method, url, host 等信息) 。

 

4、拓展功能:网站过滤,用户过滤,网站引导,检查是否有本地缓存(改造HTTP头添加 If-Modified-Since 字段) 。

 

5、代理连接到服务器,并将客户端发送的 HTTP 数据报文转发给目标服务器 。

 

6、接收目标服务器的响应报文 ,解析报文头信息:状态码为304时不需要更新缓存,并将本地缓存转发给客户端;否则直接将响应报文转发给客户端,并进行缓存 。

 

7、关闭套接字。

关闭
0797-8539189
关注微信公众号,免费送2小时时长