http代理的原理简单描述

本文详细阐述了HTTP请求从客户端到服务器的直接传输过程,以及通过代理服务器中转的机制。对比了两种情况下请求头部信息的区别,解析了代理服务器在请求转发中的角色,以及可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户端>>>服务器

客户端发送request给服务器,socket在建立时就已经指定了host,port,所以request表头中不包含服务器地址,但有path,服务器接受到request,返回response,客户端通过inputstream读取response

客户端>>>代理>>>服务器

客户端发送request给代理服务器,socket在建立时指定的是代理服务器的host,port,所以request表头中是包含了目标服务器的地址,以及path,其他的信息与一般的http请求一致,代理服务器收到请求,解析目标服务器的地址,往它发送request,这个时候代理服务器就相当于客户端,代理服务器收到目标服务器的response,再把这个response返回给客户端。

用更形象的说法就是A喜欢B,想操她,A写了情书,但不好意思亲自递给B,所以A就把情书给了和B关系比较好的C,C收到情书,再把情书递给B,B把自己的决定说给C,C把B的决定说给A。

如果代理有问题。有两个情况,一是连接代理创建socket成功,但发送失败,或者没有发送,因为客户端把请求给代理,代理做什么我们不知道,他甚至可以直接发个图片给你,这个就不是真正的代理。所以客户端可能收到错误的信息,或者超时,或者异常(如connect reset),服务器没有收到任何请求。二是连接代理失败。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值