net/http库中request.RemoteAddr的值不确定性-【Golang踩坑笔记】

环境信息:

  • Go 1.20
  • Windows 11 x64

代码示例

Go 复制代码
// 这里的r是框架传入的request,其中封装了net/http下的request.go中的Request
fmt.Println("r.RemoteAddr:", r.RemoteAddr)  // 本地执行时,该值可能是[::1]:port也可能是127.0.0.1:port

当在本地测试请求时,他的返回结果可能是[::1]:port也可能是127.0.0.1:port。期间热重载或重启程序也可能会改变他的值

时间有限测试的情况不多但它确实是不确定的,并且这不是一个BUG。 官方的回复表示这是按预期工作的

一般我踩坑笔记都不会发文章,但这个设定我个人认为有些不合理,可能是我接触的包比较少,对于这种情况,是否需要对两种相同意义但是不同内容的值做判定。

相关推荐
Yawesh_best9 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
Awkwardx10 小时前
Linux网络编程—应用层协议HTTP
网络·网络协议·http
Ccjf酷儿11 小时前
操作系统 蒋炎岩 3.硬件视角的操作系统
笔记
习习.y11 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
在逃热干面12 小时前
(笔记)自定义 systemd 服务
笔记
DKPT13 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
Mu.38714 小时前
计算机网络模型
网络·网络协议·计算机网络·安全·http·https
我有一棵树14 小时前
file 协议与 http 协议的区别:为什么本地 HTML 无法加载相对路径 JS,以及正确的解决方式
javascript·http·html
QT 小鲜肉15 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇
笔记·读书·孙子兵法