关于 app 软件使用 ip,而不是域名的疑问❓

2022-08-14 13:41:13 +08:00
 bclerdx
很好奇,一些安卓 app ,其页面资源内不是使用域名去解析访问,而是直接访问 ip 地址。这是为何呢。不走域名解析方式而走 ip 直接访问?
9004 次点击
所在节点    Android
14 条回复
dcty
2022-08-14 13:59:52 +08:00
可能是 httpdns ,避免 dns 劫持。
bclerdx
2022-08-14 14:54:57 +08:00
@dcty 如果直接输出的是 ip ,就用不到 httpdns 了吧?
dcty
2022-08-14 15:09:07 +08:00
@bclerdx #2

httpdns 只是将域名通过 http 提前拿到,然后组装 http 请求的时候替换掉 uri 上的 host ,把 host 扔 header 。
请求的时候 大概就是 curl --header 'Host: a.example' https://ip_address
wwqgtxx
2022-08-14 16:00:45 +08:00
国内的话,还有可能是因为域名访问(带 host 头)要备案?
kyro00000
2022-08-14 17:47:24 +08:00
@wwqgtxx 服务器放国内不一样要实名嘛?
wwqgtxx
2022-08-14 17:50:05 +08:00
@kyro00000 实名 != 备案
akira
2022-08-14 18:09:46 +08:00
@wwqgtxx 还要看是不是 80 443 端口
estk
2022-08-15 08:27:40 +08:00
ip 一来几乎没有 ssl 证书,二来万一换服务器了,大概率也会变,app 就失联,此外就是没有 cdn 加速
大概率是外包偷懒
HaneRo
2022-08-15 10:12:09 +08:00
微信好像就是 ip 地址还是 80 端口
crayygy
2022-08-15 10:46:28 +08:00
直接通过 IP 访问不代表是写死这个 IP 访问的,App 可以通过内部通信来获取资源地址,服务端下发的时候给出对应地址即可,这个时候再直接通过 IP 访问,甚至还可以减少一次 DNS query
bclerdx
2022-08-15 14:41:53 +08:00
@crayygy App 可以通过内部通信,请问是什么通信方式?
bclerdx
2022-08-15 14:42:48 +08:00
@HaneRo 何止微信,比如美团、美团外卖、淘宝等这些手机 App 的部分资源都是以 IP 形式访问。
crayygy
2022-08-15 14:46:43 +08:00
@bclerdx #11 任意方式,打个比方,App 的核心功能可能是以 domain 的方式进行访问,然后拿到其它各个功能的后台地址,除非整个 App 所有的请求 *全部* 都是直接通过 IP 的,否则都是可以通过某个请求获取到其它所有需要的 IP 地址。
leefor2020
2022-08-18 13:21:15 +08:00
Telegram 也是 IP 访问的吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872757

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX