为什么不应该RoundTrip修改请求?

时间:2016-09-04 06:38:33

标签: http go

为什么RoundTrip不能修改请求?

https://golang.org/src/net/http/client.go#L103

如果通过RoundTripper(例如http.Transport)修改http.Request会发生什么?

1 个答案:

答案 0 :(得分:1)

在界面评论https://golang.org/src/net/http/client.go#L89

中说明了awnser
A RoundTripper must be safe for concurrent use by multiple goroutines.

如果服务器收到请求并启动多个goroutine,则必须确保所有请求都在同一输入上工作。如果RoundTripper更改了请求,它可能会使已收集的数据无效(甚至可能没有注意到)