如何看待淘宝 APP 采用 80 端口传输非 http 协议?

2017-03-20 10:51:24 +08:00
 qianguozheng

我就想问,他们难道不知道有个东西叫 http 代理吗?

https://www.zhihu.com/question/57350923?guide=1

13058 次点击
所在节点    分享发现
82 条回复
weyou
2017-03-20 17:25:42 +08:00
@iVeego 不是同一个原因,小飞机是 socks5 代理,代理的是底层的传输层协议。而这个 squid 是 http 代理,是代理的应用层协议。 socks5 代理是不管上层协议的具体内容的,换句话说, app 用任何端口传输的任何内容都会原封不动的转发出去。
iVeego
2017-03-20 17:28:31 +08:00
@weyou #41 那阿里系的软件出现这样的问题有办法解决吗?即使加入白名单直连,还是不行。
qianguozheng
2017-03-20 17:28:48 +08:00
@simpx
兼容性嘛,肯定要耗费一些人力物力来解决的。
简单点,直接换成 443 喽, 反正劫持也只能搞 80 端口的 http 数据, https 加密的一般没有运营商会乱搞。

这样你的担忧就全没了,哈哈
weyou
2017-03-20 17:30:38 +08:00
楼主这个问题真不关 app 的事儿。 80 端口没有谁规定只能传输 http 的 stream 啊。你自己要代理 http ,你就得自己处理好代理之外的各种异常,没有深入用过 squid 透明代理,我不知道它是否有参数能够将不能识别的封包直接透传过去,楼主可以去查一查。
biaobiaoqi
2017-03-20 17:32:31 +08:00
这口锅,感觉不应该淘宝 app 背。
simpx
2017-03-20 17:33:25 +08:00
@qianguozheng #43

兼容性当然考虑了

你的代理是不是返回了什么异常 response

如果访问失败,是会降级用普通 http 的
weyou
2017-03-20 17:33:34 +08:00
@iVeego 阿里系是有全球站点的,你从小飞机出去上淘宝,可能会定向到淘宝的国际站点。不知道是不是这个原因。 反正我的小飞机是分应用代理的,阿里系不在代理的名单里面。
weyou
2017-03-20 17:35:09 +08:00
@iVeego 我用白名单没有出过问题,你看看是不是该更新一下小飞机了。
qianguozheng
2017-03-20 17:36:03 +08:00
@simpx 那就不对了,你看到我的数据报截图了没, 400 Bad Request, 然后我在淘宝 App 里面点击天猫 直接提示网络不可用之类的,没有你说的降级这个(可能没做好),如果有的话,我多试几次应该就正常了,对吧。
qianguozheng
2017-03-20 17:36:45 +08:00
@biaobiaoqi 我这也是希望淘宝 App 越做越好,哈哈
qianguozheng
2017-03-20 17:37:51 +08:00
@simpx 要不你把跟淘宝 App 通信的那几个服务器地址告诉我?我把他们加到白名单里
qianguozheng
2017-03-20 17:40:40 +08:00
@weyou 还是你回答的靠谱。
端口可以随便用,没错。
我是找过 squid 没有相应的处理方法,所以来这么一问的,这么大的企业应该考虑各种情况,让用户用的舒心,用的方便,因为网络环境本就是复杂的,发现一种问题,就解决这种问题,越做越好嘛。
simpx
2017-03-20 17:43:00 +08:00
@qianguozheng #51 IP 是 httpdns 获取到的,不一定的。当然,也不会经常变,抓包到就是了
akira
2017-03-20 17:43:53 +08:00
有些公司会限制 只能访问外网特定端口。。
maplerecall
2017-03-20 18:13:11 +08:00
@qianguozheng 没毛病,端口本身和协议无关, 80 端口传其它协议业界里挺常见吧,就连 skype 这么大牌国际化的程序也会用 80 端口来保证在一些环境下的通信,虽然也被一些人吐槽,但既然微软都这样做了一定程度上可以说明其做法并不能说是不合理的,甚至说对大多数用户来说是合理的。

所以我觉得这锅还是得劫持者来背……
qianguozheng
2017-03-20 19:18:46 +08:00
@simpx 你们那个走 80 端口的是 httpdns 请求阿?
qianguozheng
2017-03-20 19:20:25 +08:00
@maplerecall

锅由劫持者来背我也不反对。
但是,受影响的是用户阿,如果产品设计考虑到这些可能的问题,对于用户体验来说也是一种提升,你觉得呢
qianguozheng
2017-03-20 19:24:55 +08:00
@nfroot

@simpx

腾讯的 httpdns 貌似是正常的 http 请求封装的。

https://www.qcloud.com/document/product/379/3524
maplerecall
2017-03-20 19:49:00 +08:00
@qianguozheng 就是为了用户考虑啊,比如有 100 个用户的网络只能通过 80 端口正常通信,而有 10 个用户需要或者会被不正确的劫持 80 端口,两者的需求是冲突的,那只能照顾人数更多的用户……
qianguozheng
2017-03-20 21:53:23 +08:00
@maplerecall 这句话说到正点了。

不正确的劫持- 可以不考虑。 但是正常的 http 代理也没有考虑就不太好了吧。

而且人家腾讯的 httpdns 是通过 http 的协议来实现的,如果是这样也没问题啊。现在的问题是它并没以 http 协议的形式封装 httpdns,导致了现在的问题。

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

https://yangjunhui.monster/t/348752

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

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

© 2021 V2EX