给予铁道部的12306购票网站8个个人建议

来源:岁月联盟 编辑:猪蛋儿 时间:2012-01-16

  今天陆陆续续在铁道部的网站上填了几百次的表单,最后也没能登上去。反反复复被告知当前用户太多,要么就是无法访问。

  这个问题铁道部一个劲的说增加带宽增加服务器。我想说的是:我呸,这个烂网站真不是增加带宽和服务器就可以解决的。元旦的时候新浪微博瞬间的访问量绝对远远高于这个屁网站的流量。也没见人家不能登录。淘宝双十一双十二,那个压力大吧,也没这么搞笑吧。

  我绝对不是胡说,下面从我的认知水平出发,看看这个铁道部用来糊弄鬼的狗屁都有些什么问题。

  1.界面奇丑无比、用户体验完全是负数

  界面奇丑无比,这都不用多说,不用看,闻都能闻出来这种性质的网站不会有什么好看的界面。用户体验我也不想多说,大家去体验体验就能感觉出来了。

  2.首页莫名其妙

  先上一张首页的图:

  

 

  一般情况下,访问这个也url中间的用户登录和新用户注册先得经历几秒中的空白,一般都是上面那个脑残的flash和最下面的鸡肋指导出来了好一会才出来。看看首页代码,居然看到iframe这么个东东:

  <divclass="blueBgnav_toppadd0">

        <iframeheight="680"id="iframepage"name="iframepage"width="960"scrolling="auto"align="top"frameborder="0"src="https://dynamic.12306.cn/otsweb/"></iframe>

  </div>   虽然我很少接触前端的东西,但我也知道,这东西最流行的时候是Ajax还没出来之前,用来模拟类似于Ajax异步交互的(我不是胡说的,参见《Javascript高级编程》第一版。)这本书出版都有七年了,iframe这东西流行的时候离着本书出版都有好几年了。想象一下吧。当然,也不纯粹是说老的技术不行,但是这个破玩意的做法导致的结果是每次有个什么点击,完全都是页面全部加载。

  再看一下首页的js,留两个地方为了使用jQuery的id选择器,愣是加载一遍jQuery,加载不需要时间吗?自己写一个函数封装一下这个的DOM操作会死吗?顶上那么狗屁不是的flash,加载了flash不算,还得加载一个js文件。

  3.残废的用户登录部分

  再看看用户登录那个iframe的代码,看了之后我只能感慨,脑残之路真是永无止尽:

  

 

  我就想进那个登陆界面,也不是什么复杂的登陆界面,但是见到这个登陆界面真的比见到领导还难,为什么,得加载多少脚本、样式表真是坑爹啊。举个简单的例子吧,登陆界面需要日期控件吗?不需要吧,那搞那么多的datepicker.js、date.js干嘛?用到什么加载什么不行吗?还是说你们的东西是按照代码行数给钱,非得这么搞?

  这么说吧,我用的网是10M的,浏览器缓存了95%的内容(408.4KB/432.3KB),加载还是花了2秒多。真是惊世骇俗。这仅仅是为了在人品好的时候让这个登录页面出现在你的面前。要是人品不好,你见到的就是不能访问之类的。

  4.最让人不能忍受的:登录时候,用户名密码传递的是明文

  Firebug就是好。我们看看填完表单,点击登录。会发生什么。我随便填一个账号abcd,密码12345678。表单信息是以POST方式提交到https://dynamic.12306.cn/otsweb/loginAction.do?method=login这个url。我们看看Firebug截图:

  

 

  看到了没,loginUser.user_nameabcd

  user.password12345678

  什么意思?这是说你在登陆的时候基本上是裸奔,各种爬虫完全可以开始行动,我们这里不加密啦。。。shit!!!你说你慢我也忍了,谁叫咱生活在美好的社会主义国家,咱们就是和谐。但你这么搞,我我我,我骂你!!!

  5.同样是说访问人数太多,表现形式完全不一样

  我今天登陆了好几百次,无依例外是被告知“当前访问用户过多,请稍候重试!”。但是有时候是在页面上显示红色的警示文字,有时候是通过alert()弹出来的。很明显,这对应了两种不同的情况。也就是说,服务器端是有判断的,如果是情况A,给用户什么提示,情况B给用户另外的提示,但是但是明显的两种不同的情况给出一样的提示。那我想问,是程序员不小心写错了呢,还是服务器端判断的逻辑根本就是混乱的呢?

  不知道做这玩意的这帮家伙听没听过队列这个东西,你怎么直接说人多就把我们的请求拒绝掉呢,你好歹搞个队列排个队或者怎么着吧。

  逛了一下CSDN和JavaEye,发现很多人都发现了各种问题。

  6.负载均衡、CDN

  做这样的全国性质的应用系统,负载均衡是很重要的。当然这一块我不懂,也没办法分析,但是据CSDN和JavaEye的一些分析显示,这个网站这方面基本上也是个鸡肋。

  CDN(ContentDistributionNetwork)内容分发网。主要是负责将图片、视频啊这些资源推送到离用户最近的节点上。以增加访问的流畅度。像几大门户肯定都会用这个技术。这一块我也没有什么研究,这个网站将CDN包给了一个叫网宿科技的公司。网宿CDN平台软件V2.0被科技部认定为国家火炬计划项目、被科技部与环保部等认定为国家重点新产品,WSA全站加速解决方案被认定为高新技术成果转化项目。但是实际水平怎样,大家自己百度。有很详细的分析。

  7.关于Ajax

  乍一看,这个破网站很有用Ajax的架势,但是实际上基本上没有什么异步交互。多有的点击、加载都是“货真价实”的。这个网站处处透露着***,但每个地方***得各有创意。

  8.关于订购成功却无法支付

  听说有订票成功却无法支付的问题。简单说明明显示抢到了票但实际上没买着。当然我没碰到,也不知道到底是为什么,但是很可能是同步控制没做好。如何对车票这个资源进行同步也是一个难点。我强烈怀疑他们没解决好。

  我觉得稍微有一点技术经历的人应该都能预料到他们这么做会是这个结果,但是做这个网站的人还是这么做了,不管咱们信不信,他们真的这么做了。我想他们肯定是不怕会被人民群众的口水淹死。

  最后我想说,这个网站将会成为国内电子商务或者具体地说G2C历史上的Milestone,它应该也是有景德镇特色的又一朵奇葩。我只能说亚克西,Oh yeah!

  最后希望大家都能买上票,春节往返一切顺利。文本由乌鲁木齐租房网http://www.0991la.com原创,在A5首发,转载请保留链接,谢谢大家。