http代理的原理简单描述

客户端>>>服务器

客户端发送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),服务器没有收到任何请求。二是连接代理失败。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值