12306 这么大的 js 文件,怎么想的...

2016-10-09 17:49:07 +08:00
 bridge45

直接贴地址: https://kyfw.12306.cn/otn/resources/js/query/train_list.js 下载下来文本 35M,网页流量查看显示 4M...如何的慢,想想就知道了

原地址:https://kyfw.12306.cn/otn/queryTrainInfo/init

15399 次点击
所在节点    JavaScript
111 条回复
mdzz
2016-10-09 19:34:39 +08:00
$ python
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> with open('train_list.js') as fp:
... data = fp.read()
...
>>> js = json.loads(data.decode('utf-8')[16:])
>>> print len(js)
61
>>> print js.keys()
[u'2016-09-25', u'2016-08-30', u'2016-08-31', u'2016-09-13', u'2016-09-12', u'2016-09-11', u'2016-09-10', u'2016-09-17', u'2016-09-16', u'2016-09-15', u'2016-09-14', u'2016-09-30', u'2016-09-19', u'2016-09-18', u'2016-09-20', u'2016-09-21', u'2016-09-27', u'2016-10-19', u'2016-10-18', u'2016-10-15', u'2016-10-14', u'2016-10-17', u'2016-10-16', u'2016-10-11', u'2016-10-10', u'2016-10-13', u'2016-10-12', u'2016-10-08', u'2016-10-09', u'2016-10-06', u'2016-09-28', u'2016-09-29', u'2016-09-08', u'2016-09-09', u'2016-09-23', u'2016-10-07', u'2016-09-04', u'2016-09-05', u'2016-09-06', u'2016-09-07', u'2016-09-26', u'2016-09-01', u'2016-09-02', u'2016-09-03', u'2016-09-22', u'2016-09-24', u'2016-10-20', u'2016-10-21', u'2016-10-22', u'2016-10-23', u'2016-10-24', u'2016-10-25', u'2016-10-26', u'2016-10-27', u'2016-10-28', u'2016-10-29', u'2016-10-04', u'2016-10-05', u'2016-10-02', u'2016-10-03', u'2016-10-01']
>>>


wow, interesting
yangyaofei
2016-10-09 19:38:46 +08:00
@minbaby 表示 android chrome 不卡😂😂😂
youxiachai
2016-10-09 19:40:34 +08:00
@jasontse cdn 表示这点带宽小 case ....
adv007
2016-10-09 19:42:41 +08:00
这么大的 js 一般是不懂前端的工程师干的,此时先不用扯 CDN,gzip
yangyaofei
2016-10-09 19:43:33 +08:00
感觉挺好……第一次会比较慢,但是后面再请求应该都 200 吧,车票肯定来回刷,加上 cdn ,感觉很好。
jasontse
2016-10-09 19:45:17 +08:00
@youxiachai 按照 12306 的流量级别,再加上春运时的尖峰流量,这是很大的开销。
hellojinjie
2016-10-09 19:57:33 +08:00
我们很多时候一张图片也要好几兆了啊, 4MiB 的文本下载很正常啊。
fqzz
2016-10-09 19:58:17 +08:00
react + webpack 打出来的 app , gzip 后不一定比这小多少。
ChaosPark
2016-10-09 20:03:35 +08:00
这样做挺好,不然网络垃圾点的就更抢不到票了。
Totato5749
2016-10-09 20:12:11 +08:00
我很好奇的是, 12306 的那些程序猿都神龙见首不见尾,从来没在网上见过说自己是 12306 的, 12306 现在也不算是黑点吧,总比百度强吧
rocai185
2016-10-09 20:18:49 +08:00
@reus 兄弟,别代表大多数,大多数你还真不知道是多少 M 的
Tink
2016-10-09 20:22:29 +08:00
我惊了
Tink
2016-10-09 20:24:31 +08:00
这个东西还有点用啊
schezukNewTos
2016-10-09 21:27:05 +08:00
铁总又不需要频繁调图,一个月不带变一次的。
只需要堆 cdn 就能给数据库减负,挺合算的。
何况第二次访问直接返回 304 , cdn 不耗流量。

如果手机用略吃亏,慢,费流量。
billwang
2016-10-09 22:08:38 +08:00
notepad++ 未响应
第一次打开那个网址等了十秒左右,后面打开就快一些,虽然我笔记本有些老了
SilentDepth
2016-10-09 22:43:10 +08:00
Chrome on Windows 点开,风扇开始转……囧
youxiachai
2016-10-09 22:48:59 +08:00
@jasontse 嗯...目测是没怎么接触 cdn 的? cdn 的前端缓存性能非常厉害........说实在的就算是峰值也就是开多几个地区的 cdn 而已,对于整个系统的开销 cdn 是最方便扩容的....这种只要堆机器的方法最省事了....
palytoxin
2016-10-09 22:54:57 +08:00
@qqmishi 大文件还是 vim
qqmishi
2016-10-09 22:58:51 +08:00
@palytoxin 改用 head 命令,然而我没预料到只有一行,,,
reus
2016-10-09 23:33:15 +08:00
说直接打开或者 notepad++打开慢的,根本就没搞明白吧,作为脚本运行时,它不需要渲染给你看,很快的。直接打开慢, notepad++打开慢,是因为需要渲染所有的文字。实际执行的时候,直接就执行 js 代码了,又不需要渲染,所以说直接打开或者 notepad++打开慢,毫无意义。

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

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

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

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

© 2021 V2EX