Archive for the ‘Web 2.0’ Category

From (mt) To Linode, with a few extra treat

Thursday, June 3rd, 2010

也不知道是(mt)被后知后觉的墙看上了还是怎样,最近无论是HTTPS访问还是SSH链接的速度都被降得很低。虽然我一直怀疑墙被SSH与VPN逼急了开始测试类似美国某些ISP公司的加密包瓶颈策略,但考虑到中国的整体网速已经是粗暴的瓶颈了,还是决定再(第四次)换个服务商测试下速度。这次换用Linode的VPS,初级服务和(gs)的价格差不多,功率超出很多,网速不比当年的(gs)差,只是需要自己调整服务器。

鉴于该服务商在国内名气很大,在此多就不作介绍了。今天要介绍的是转移网站过程中的一些基本的在线测试工具(没转移也能用)。

测试域名与DNS的工具

Just-Ping大家都知道了,这里再次推荐它的父亲WatchMouse,它可以从任何服务器ping,traceroute和分析最新的DNS数据,也支持有次数限制的网站访问测试。

值得注意的是WatchMouse的DNS记录刷新速度之快是少见的,类似Google Public DNSOpenDNS之类的解析服务需要数小时到一日才会更新。

测试服务器访问速度的工具

Pingdom是大家都熟悉的服务,最近我发现它对部分线路的检测并不好,会出现比中国还多5倍的不正常延迟(绿色显示的部分),单独用它肯定是不够的。

对于只想看数字的管理员来说,SearchMetrics提供的服务最明晰,列出了网站各个项目的下载大小与所需时间,包含不同网速下的耗时预测。

WSO则提供了一份更为详细的分析,不仅有更多的耗时预测与内容统计,还会分析每个对象的header与详细内容,提出恰当的优化建议。

Pagetest(用AOL发布的同名开源工具组建)是家设计与域名都不起眼的网站,然而它提供的测试范围却比上述任何一款都要强大。不仅可以选择发起测试的服务器(包括中国江苏的一台),还可以测试“重复访问”的速度,也就是测试有缓存时的浏览速度,这对分析网站的真实表现很有帮助。此外它与Pingdom一样可以储存历史数据,方便回顾查询。

测试网站设计表现的工具

“首先要按网页标准设计,尊重网页可用性”之类的话省去N行。

Google的三剑客,Analytics,Optimizer与Webmaster Tools更适合商业网站与宏观统计。它们在细节数据收集上还是有些欠缺的。最近人气很高的Heatmap统计就是其一,它能直观展现网站访问者的表现(相比Analytics记录链接的点击数更为有效)。

客栈最近再次启用了Reinvigorate,这家beta了三年的网站访问统计,最近推出新版公测,这其中就包括了我一直想尝试的Heatmap服务。以下是两个例图。

这是萌番一周的点击区域加亮图,点击越多的地方越亮。不难发现类似用户登录与账户管理的右侧导航受到主要关注。与此同时,一些不可点击的元素,例如用户评论的标题,也会被关注,说明萌番的首页设计还需要修改。

这是客栈上篇旁门左道文的24小时点击密度,根据文章内容,我们不难理解为何投票与链接是旅客关注的重点。

Heatmap统计已经出现在不少商用统计服务中,CrazyEgg是其中的佼佼者。不过它们的价格大多数都过于高昂(上千美元一年),免费的Reinvigorate值得各位申请尝试(这服务貌似没有邀请系统)。

PS:假如你使用独立服务器,不妨测试开源的ClickHeat,它提供本地Heatmap统计服务。不过正如出名的Piwik,它们都爱耗费大量的资源,用在虚拟主机上,不是你的数据库超载,就是CPU使用过量,再不然就是内存耗尽。一句话,量力而行——Piwik与ClickHeat的统计可能比第三方服务要准确,但免费的午餐不存在。

PPS:Reinvigorate的国内访问速度颇慢,使用WordPress的旅客可以用WP Minify插件将其本地化。顺便一提,WordPress上自动合并JS与CSS文件的插件还真不少,包括历史悠久的WP JSWP CSS

PPPS:本文只是抛砖引玉,欢迎旅客推荐更有趣的服务。

下一个浏览器地狱

Friday, April 30th, 2010

ppk对手机浏览器行为的研究可谓无人能及,大量的实物测试告诉他,手机浏览器是下一个地狱。除非开发者知难而退,成为特定品牌的奴隶,重复IE时代的错误。ppk在DIBI上的演讲[PDF],应该是我读过的最直观的解释了(包括测试页面)。

当商业理想变成讽刺幽默

Tuesday, February 2nd, 2010

Bloomberg报道:日本手机运营商Softbank给美国视频广播网站Ustream提供了2000万美元的资金,支持他们推广在日本,韩国,中国和印度的手机视频直播业务。文中提到,这个全程直播美国大选的Ustream对中国7亿手机用户很感兴趣。认为这个市场属于“未经开发”(greenfield),有巨大的潜力。

问题在于,Ustream的服务器早在2008-09年间就被屏蔽了,为啥?大哥,手机现场直播耶!中国能手机直播的东西太多了,而各种“可能性”让部分高层如坐针毡(不信你试试搜索Ustream.tv+中国),因此我对Ustream扩展中国业务的前景很不乐观。即便你学习谷歌在中国设个子公司搞公关,最后还是一句话:你堵不堵得住的“非法视频”?你敢说否,我就敢对你说西柚(See you);不仅如此,再过五年,全国人民都会爱西柚。

在中国,一件事情,“成”和“不成”之间通常相距并不远,唯独互联网不同。你是看到中国的用户群了,你是看到中国的廉价劳资了,但你看到中国需要你的程序开发人员与内容监控人员的比例为“1:10”了吗?但你看到中国需要24小时候命处理那些明显不可能完全审查的UGC了么?假若你没有,那再大的蛋糕还是CAKE,是个传说,是个谎言。

我还记得某年看过的一则《讽刺与幽默》的漫画,领导在一边喊着“我们促进公平竞争”,竞争者却在一边爬着不同形状的障碍物……这份官媒恶搞的报纸曾经把事情看得很透,但在无数次“被改版”之后也沦为了不咸不淡的公民自慰;一如无数次“被整顿”的中国互联网,不再是谁最优秀的竞赛,而是谁最“体贴”的暗战。这里的体贴,当然不是指体贴用户。

所以还是那句话,在中国,谁赢了外企都别叫:不是你的能力高超,而是老外的理想不如国情的幽默大行其道。

The Future of the Internet Economy

Sunday, January 10th, 2010

Openness and transparency are essential character traits of the Internet economy and should be embraced by governments as necessary components to deal with issues of privacy, security and active inclusive participation.

这是对荷兰政府商务部找RAND做的有关互联网经济政策的建议书,又一篇某国政府不会去读的论文。正在和有志向参与网络经济的旅客不妨看看,即便我们暂时无福享受如此礼遇,它仍是一股无法回避的改革潮流。

via RAND

A few ideas for your Proxy 2.0

Monday, December 28th, 2009

有鉴于Proxy将成为贫苦大众(特指“没能力购买网络服务”的网民)今后数年的必备用品,Proxy 1.0的原始框架已无法承载这种压力。最近不少Proxy 2.0的设计蓝图浮出水面,本人亦有一些考量,这里简单小结一下。

Security or Obscurity ?

Build your dam for reasonable tsunami, not 2012. Lay your tarmac for reasonable vehicles, not Transformers.

2.0的其中一种思维是增强Proxy Security,强制HTTPS协议是首选的方式。我觉得还可以换个角度看,很多时候用户需要的并不是安全性,或者说使用Proxy的网民大多数并不清楚如何增强安全性。这时我们需要的是增加Obscurity,当然不是指降低用户界面的易用性,而是增加生成HTML代码的委婉性

搞过计算机安全的人都知道Security through Obscurity是没戏的,那为什么放弃Security选择Obscurity呢?理由简单,基于使用Proxy的初衷。若我们希望完全防止MITM,那Security是必须的;但“窃听者是全能的”的假设是否适合一个Public Proxy?我认为值得商榷。如今用户期待的是“能正常浏览网页”,而不是“安全匿名的浏览网页”。再者,安全匿名不仅必须加密通信,还需要用户完全信任服务器运营者才行,验证后者比技术上保证前者更加困难。

降低安全假设的好处在于它能大幅度延展Proxy的设计选择。说得很玄乎,实际操作很简单。举个例:关键词破坏是国内网站常用的手段,为什么我们不能挪为己用?当然,实际运行时我们可以稍微修改一下“破坏”的方式。

正太什么的最讨厌了,萝莉万岁!

以上句子在客户端上看没有任何问题,但对于机器来说,它是——

<p>正太<span style=”display:none;”>什么的最讨厌了,萝莉</span>万岁!</p>

如此一来,正太控的内容被正常浏览了,而机器还以为我们是不懂网页标准的萝莉控。这种设计有数条好处——

  • 这种模式可以有无数种变形,大幅度增加了Keyword Matching的难度。
  • 既然有机器喜欢读我们的HTML,那就让他们去读好了,避免额外加密
  • 它比客户端解RSA靠谱。运行速度和浏览体验都更胜一筹。

牺牲复制粘贴(插入文字也会被复制)换来的是运行效率与更新速度。Proxy服务器用display:none和eval等方式处理文字与链接(Pattern Matching)比加密整个页面便宜得多。更可以在站外维护一个Keyword List,允许用户提交反馈,定时更新,照顾最新的指示。

A Hell for Computation Overlord.

智能系统最喜欢的东西:可预测的环境。不要给它们任何机会,尽可能破坏所有既定的网络规定。假如对方熟悉Base64与ROT13,我们就把URL换成用户可自定义的同样快速的Substitution Cipher,把随机的Client Key藏在Cookie里。若Client Key对不上,相同的请求服务器只会返回错误。我们甚至可以进一步混合时间限制,以免Client Key被重复利用。

破解Substitution Cipher需要26!个单位时间,已经大幅度超出智能系统可承受的范围。若尝试截取Client Key,则陷入Uncertainty的游击战。Obscurity再次立功。

Where is my invisible coat ?

等你成功穿越Overlord,它的手下就要来找你了,于是谈到Proxy 2.0真正的瓶颈所在——假如IP或域名下水了,Proxy的命运也到此为止。在IPv6和TLD大开放的时代(又称“网络廉价化”的时代)还没到来之前,这些东西都是非常珍贵的资源。

为此,所谓Proxy Chain需要与时代并进,履行Behavioral Separation,设置一个Reverse Proxy在Web前端,将后端服务器处理过的内容传送至客户端。不少简单的Proxy都可以改造为Reverse Proxy,放置在可爱的免费空间上,即便Reverse Proxy不幸意外,主服务器还是安全的。

与此同时,一个只处理数据的服务器也比一个拥有华丽前端的服务器隐蔽,降低被当成炮灰的危险。

回应小标题的提问——你不用的时候往invisible coat上贴个标签不就好了。别让问题卡在找invisible coat,将它转变成找标签的问题。Reverse Proxy就是这个标签,水下的冰山却是invisible coat。

Suggestions ?

除此之外,还有什么旁门左道可以使用?欢迎分享。

Secrecy is over-rated, when Google is your proxy.