很多人好奇,代理IP到底改了请求里的什么。答案其实很集中:改的是对外的来源地址,内容本身基本不动。理解这一点,就能明白为什么有些效果会变、有些不会变。
替换发生在哪一层
在不同协议下,替换发生的位置并不一致。有的在连接建立阶段就把出口换成远端地址,有的在应用层的请求信息里补上来源说明,代理IP的实现方式决定了具体在哪一步动手。
内容为什么不变
因为代理IP做的是转发。请求的正文、参数、格式都由原程序决定,中间的转发方只负责搬运,没有理由也没有必要去改动内容本身。
因此,凡是与内容相关的表现,通常不会因为使用代理IP而变化;凡是与来源地址相关的表现,才会跟着出口一起变。这条界线划清了,预期就不会错位。
有些请求头会被顺带补充。为了让目标知道真实来源,转发时可能附上额外的来源说明字段,代理IP的作用因而更透明,也更便于对方判断。
地址替换还涉及一致性问题。同一条链路里,前面用了一个出口、后面换成另一个,目标侧就可能察觉异常,代理IP的使用因此强调出口的稳定与对应。
改动集中在来源,内容保持原样,这是理解代理IP行为的一条主线。抓住这条主线,很多现象就不难解释。
如果发现结果与预期不符,先分清是内容层面的问题还是来源层面的问题,代理IP的排查就能少走弯路,也更容易判断问题到底出在哪一段。
把替换的范围记在心里,使用代理IP时对哪些会变、哪些不会变就有了清楚的预期,判断结果时也更从容。
