使用localhost作为地址执行网络请求时会有2s的延时,这个问题在Linux并不存在,本文分析并提出解决方案。
问题复现 {#问题复现}
主要体现在windows 下,python 使用 flask 将 localhost 作为地址时有2s延迟
原因分析 {#原因分析}
问题在于解析localhost时,优先按照ipv6地址解析,这个可以通过ping命令验证:
解决方案 {#解决方案}
关闭ipv6的方案尝试过几次,都没有效果
修改host文件添加
127.0.0.1 localhost
也没有用 问题症结在于ipv6和ipv4的优先级,如果ipv4的更高,则会优先使用ipv4地址
查看优先级 {#查看优先级}
命令:netsh interface ipv6 show prefixpolicies
- 其中
::1/128
和::/0
是ipv6的地址,::/96
是ipv4 - 我们需要将ipv4地址前移到最高优先级
修改优先级 {#修改优先级}
- 此时优先级关系位:
问题解决
测试 {#测试}
而且使用localhost做地址执行各种任务都快了很多
参考资料 {#参考资料}
文章链接:
https://www.zywvvd.com/notes/system/windows/localhost-post-slow/localhost-post-slow/