headermask image

header image

Google 与 Yahoo 即将对 Flash 提供搜索

Solidot的信息

35公里 写道 "AdobeGoogle 以及 Yahoo 即将联合对网站中的 Flash 内容提供搜索,Google 和 Yahoo 都在开发相应的 Flash 索引技术,该技术不需要网站所有者做任何额外的工作。

以前,搜索引擎仅仅是对 Flash 站点中的静态文字和链接进行索引,无法抓取 Flash 的内容,就象阅读书的目录索引,而不是书本身。Flash 高级产品经理 Justin Everett-Church 说。现在,Google 和 Yahoo 将能对整本书进行阅读,就是说,他们将使用 Web 爬虫程序对 Flash 站点中的所有内容进行索引并输出到搜索结果,以前,因为 Flash 内容无法被搜索引擎抓取而备受 Web 设计者以及网站所有者批评。
Ogilvy 广告公司的 Bill Hunt 说,一些大公司,如珠宝商 Tiffany & Co 将因此受益,Tiffany & Co 拥有一个非常华丽的 Flash 购物站,到目前位置,大多数站点内容,如,产品页,对搜索引擎来说是不可视的,也不会出现在 Google 的搜索结果中。一个典型的例子是,在 Google 中搜索 "Tiffany gold ring",排在前面的是 overstockjeweler.com 而不是 Tiffany 自己的网站。

对那些希望用 Flash 建设网站又不愿牺牲搜索排名的公司,这更是一个好消息,如果 Google 和 Yahoo 保守承诺,将 Flash 搜索做起来,将改观 Flash 最大的缺陷。

Everett-Church 说,Google 已经开始对他们的搜索结果进行调整,而 Yahoo 的开发稍微滞后一些。这两家公司都在认真地寻求这一目标,但 Google 在这方面又胜过 Yahoo 一筹,虽然不是很大的落后,但 Yahoo 已经没有多少地盘可以拱手相让了

加密通信不再安全

Solidot的信息

一项新的研究允许ISP们选择性的封a屋里的人将衣服挂在窗外,巷子中砖瓦紧凑地接着淅淅沥沥的水滴。“滴答滴答下小雨了,种子说我要发芽,我要发芽。”记锁或减慢你的加密通信(论文PDFscribd),即使他们不能偷窃到你的加密数据。意大利的研究人员找到了一种方法,能将含有加密SSH会话的通讯进行归类,精确度达到90%。他们能实现这一切,依靠的是分析信息包的大小和两次连续会话的间隔时差,而不是内容本身。留给ISP的挑战是是否采用这项技术,但显然它清楚的指出以SSH会话加密通信或VPN连接并不能算是保护网络中立的解决之道。
很能说什么呢?改进加密技术吧,XD。

ICANN委员会同意放宽顶级域名管理

Solidot的信息

互联网名称与数字地址分配机构ICANN在2008年6月26日周四一致投票同意放宽顶级域名管理,这一举措可能对互联网产生深远的影响。委员会成员Roberto Gaetano表示,"我们打开了一个新世界,以后会发生什么是很难预计的。"ICANN的决定将导致顶级域名成倍大量出现,包括使用中文和阿拉伯语的顶级域名。新的决定允许公司将自己的品牌注册成顶级域名,比如微软可以注册一个.MSN域名,苹果可以注册.mac,Google可注册.google,中国也可以注册".中国"域名。

不知道啥时候开始呢?

Web 设计十诫

Solidot的信息

35公里 写道 "最近 BusinessWeek.com 邀请了14名 Web 设计方面的顶尖专家,就 Web 设计发表自己的看法,最终,他们编写了 Web 设计的十条诫令

1. 不可滥用 Flash

Adobe 备受欢迎的 Web 动画技术,Flash,在很多地方显示了它的威力,从 Nike 充满炫耀味道的整体 Flash 网站,到充斥各个网站的 Flash Banner 广告,然而该技术很容易被滥用,大量的,无节制的 Flash 动画不仅带来易用性问题,而且让用户的浏览器不堪重负。
2. 不可搅扰内容

广告对一个网站的生存也许很重要,但易用性研究者认为,弹窗广告,以及全屏广告会扰乱网站的内容,并挑战用户再次访问的信心。传统的 Banner 广告可能更好一些。

3. 不可失去条理

Web 是个大宝藏,但失去条理的网站让人无法访问其中的内容。包括 Amazon.com 在内的一些优秀网站向来将对内容的组织视为首要设计任务。

4. 不可滥用玻璃倒影效果

苹果向以时尚与酷绚的设计著称,但一些专家称,苹果在他们的产品图片中设计的玻璃倒影效果被大量模仿,最终将这种风格演变成恶俗。

5. 不可在网站命名中跟风

一些聪明的网站主在网站命名中不使用任何元音,或尽可能多用元音,比如,Flickr, Smibs, 以及 Meebo,这些命名方式会随着时间很快过时。(中国网站流行的恶俗命名方式包括使用数字谐音,所以,我们有数以万计的 51 什么什么的网站 - 译者)

6. 应当重视文字版面

尽管宽带连接无处不在,但纯文字版面的网站仍然拥有一种不可低估的势头。这类网站的典型包括 CraigslistCoudal PartnersDaring Fireball 。(还有译者最推崇的 Alisapart.com

7. 应当有吸引用户的内容和体验

单单漂亮还不够,Facebook 以及 YouTube 一类的站只所以吸引用户,是因为他们有抓人的内容。

8. 应当走向社会化

Web2.0 已经无处不在,MySpace 一类的站点引领了用户交流沟通的趋势。

9. 应当大众熟悉的技术

Wikipedia, YouTube, Facebook 一类的网站已经成为很多人生活的一部分。应当将这些网站中的元素引入你的设计,让你的用户感到亲切,熟悉。

10. 应当坚持内容为王

内容为王的口号已经不新鲜了,但仍然有用。外观的美丽无法弥补内容的空洞。

本文由以下14位在 Web 设计领域成就卓越的专家编写:

Dan Cederholm, SimpleBits 的创办人(请参阅:佳站有约-SimpleBits
Chris Conley, IIT 设计学院教授
Malcolm Garrett, AIG 创意总监
Robert Greenberg, R/GA 主工艺品厂的业务员,我的职业是积极地在城中寻找合适的商家推介特色的漆器、角梳、纸伞、绢扇、琉璃花瓶。厂里的集体宿席,CEO
Steven Heller, School of Visual Arts 主工艺品厂的业务员,我的职业是积极地在城中寻找合适的商家推介特色的漆器、角梳、纸伞、绢扇、琉璃花瓶。厂里的集体宿
John Maeda, Rhode Island School of Design 总裁
Don Norman, Nielsen Norman Group 创始人
Dave Shea, mezzoblue 创始人《The Zen of CSS Design 》一书的作者
Lisa Strausfeld, Pentagram 合作伙伴
Jakob Trollbäck, Trollbäck 创始人
Khoi Vinh, NYTimes.com 设计主管
Simon Waterfall, D&AD 创意主管
Martin Wattenberg, IBM 视觉交流实验室经理
Jeffrey Zeldman, A List Apart Magazine

杂志出版商

Openmoko的开源手机上市

Solidot的信息

Openmoko已向法国、德国和印度的5个发行商运送基于Linux的开源Neo Freerunner手机。Neo Freerunner手机的特性之一是开源硬件设计和一个基于Linux的操作系统,用户可以自由改造。Openmoko原计划是在去年10月进行大规模生产。售价$400的Freerunner属于2.5G GPRS/GSM 智能手机,类似去年6月上市的原始版 iPhone,运行一个三星的500MHz的处理器,包含WiFi、128M RAM,256MB固体硬盘,USB1.1接口,B3D图形加速器,4.3英寸的VGA触摸屏,蓝牙,内置GPS。
又是一个Open的,黑手机又多了一个选择了。
不过,DIY也不错。

ICANN自身难保,被土耳其黑客攻破

Solidot的信息

blacktulip 写道"负责监督网站域名的非盈利性组织"互联网域名与地址管理机构"( ICANN)被一群土耳其黑客攻破。这实在是很讽刺的一件事情。一直提供网络域名安全指引的ICANN这回自身难保,同时被攻克的还有互联网地址指派机构(IANA)这群土耳其黑客成功篡改了ICANN的主页,其留言大意为: 你们以为你们控制着所有的域名么?不对,包括你们的域名,都在我们的掌控之中。不相信?哇哈哈哈哈... 黑客还把ICANN的访问者重定向到Atspace.com这个域名下,而这个域名指向的ip是photobucket的,看来也被黑了。这群黑客也太牛了..."

如果全部的域名所有人都给改了,会不会天下大乱?

维基百科如何依赖极少的预算应付巨大的访问量

Solidot的信息

非赢利的维基百科是世界上o快暗下去。天变得真快,我俯下身子往盆子里盛水,阳台防盗栏杆外已经飘起了雨。盆子在阳台的右角,雨水先落在窗前铁栏访问量最高的几个网站之一,它的维护资金主要来自捐赠,数额并不大。因此维基百科提供了一个不可多得的研究案例,如何花最少的钱做最好的网站。在这样一个时代里,微软和Google的数据中心遍布全球,每一个都要投入5亿美元去建造,而维基百科的基本设施却只有不到300台服务器,安放在佛罗里达州Tampa市中的单一数据中心内。在周一的Velocity讨论会上,MySQL/Sun的 Domas Mituzas 提供了维基内部的技术信息,他称之为"压迫式运作"。Mituzas是Sun的MySQL支持工程师,他透露了维基百科是如何运作的: 每秒50,000次http请求;
每秒80,000次 SQL查询;
7百万注册用户;
英文版有1800万页面对象;
2.5亿链接;
2.2亿个修订版;
1.5T压缩数据;
2001年维基百科上线时是使用Perl CGI脚本,运行在单一服务器上。现在维基百科有200个应用服务器,20个数据库服务器,70个Squid cache代理和缓存服务器。

还有一些参考的网址:http://monw3c.blogbus.com/logs/23485668.html [blogbus.com] http://ganglia.wikimedia.org/ [wikimedia.org] http://noc.wikimedia.org/~midom/squidmatrix/ [wikimedia.org]

不知道这些优化的实现,又是不是只靠这6个人来完成的呢?

多任务处理是有害的

Solidot的信息

新亚特兰蒂斯(The New Atlantis)的最新研究显示多任务处理对学习和工作是有害的。文章开头写道:1740年代,在一封写给儿子的家书中,切斯特菲尔德勋爵(Lord Chesterfield)提出了以下建议:"如果你每次只干一件事,你有足够时间在一天内做好每一件事情;如果你一次干两件事,一年时间给你也远远不够"。对切斯特菲尔德勋爵而言,专心做一件事不仅仅是安排时间的实用方法,还是智慧的标记.....然而当今世界,不停涌入的电子邮件,不断响起的手机,不停发出噪音的电视机,不断流动的网络多媒体--所有这一切可能会变成背景噪音,就像一座锻造厂或工厂发出嘈杂声音。工人们一开始会唯恐避之不及,但最终这些逐渐成为他们日常程序的一部分。对于那些年轻一代的多任务工作者,巨大的电子噪音是每天生活迫切期待的一部分。神经科学和事例证据已经告诉我们,持续发生的有意识的注意力分散情况可能会深深的伤害个人和文化健康。

对人来说确实如此,不过对电脑来说,这个正是价值所在。

Java将在今年成为自由软件

Solidot的信息

Sun正在努力让Java在今年年底前完全开放,太阳微系统公司的首席开源官Simon Phipps称;"我们按照GPL发布了我们所拥有的一切,现在只留下少数领域没有公开源代码。其中一个领域是与处理光栅图形和2D图形有关,最初拥有这些代码的公司不愿意开源,但我们已和他们达成了协议,他们说,'好吧,你们把这些代码开源吧'。现在剩下的是Java的与声音有关的组件,我们最终决定,如果相关的开发商不愿意参与,我们将从零开始重写这些代码。预计将在接下来几个月内完成。" 与Java成为自由软件的另一件重要的事是IcedTea通过了严格的Java Test Compatibility Kit测试

Symbian将以Eclipse Public License许可证开源

Solidot的信息

6月24日,诺基亚、索尼爱立信、摩托罗拉和NTT DOCOMO 宣布它们将整合Symbian OS、S60、UIQ 以及MOAP(S),创立一个开放的移动软件平台。合作的公司还包括AT&T、LG电子、三星、意法半导体(ST)、德州仪器和沃达丰等,计划建立Symbian基金会以扩展这一联合软件平台的影响力,并将向所有组织开放。诺基亚今天同时宣布将收购它目前未曾拥有的Symbian Limited剩余股份,并贡献出Symbian 和S60软件,索尼爱立信和摩托罗拉贡献UIQ技术,DOCOMO 也表达了贡献MOAP(S)资源的意愿。 Symbian基金会将管理统一这一平台,在成立初期,将会把一些特定的元件作为公开资源发布,其后将在两年内完全开放平台,计划采用Eclipse Public License许可证。

虽然迟了一点,不过总比不开放的好。

缺少阳光会引起早亡

Solidot的信息

宅男们应该经常走出房间晒晒太阳,因为Harald Dobnig博士和他的研究小组发现缺乏维生素D(照照紫外线就能产生)会增加死亡率。即使在考虑了锻炼和心脏疾病等因素后,这种联系仍然存在。低维生素D的情况对癌症、中风、突发心脏病和心力衰竭的发生率有着显著的消极影响。人体暴露在阳光中的紫外线下,就会产生维生素D3。不过在高纬度地区,特别是在秋天和冬天,穿越大气层的紫外线量不足,即便暴露的时间够长,仍然产生不了足够的维生素D3。研究人员建议,人体每天产生的维生素D3不能少于800 IU单位;但过多也不好,太多的维生素D3亦会产生反作用,人体每天最高能产生10,000 IU单位。
晒晒太阳,放放风,还是不错的。

ICANN将投票表决是否放松顶级域名(TLD)管理

Solidot的信息:

BBC报道,负责域名分配的非赢利机构ICANN将在周四进行投票,是否决定放开顶级域名(TLD)。如果通过的话,公司就可以把它的商标变成域名,个人也可以把他的名字刻于网上。例如,除了.uk、.cn之类国家域名,.net、.org之类的组织域名外,你可以使用.chinese、.sex、.solidot之类的顶级域名。听起来这是一个有趣的主意,但也有可能演变成一场噩梦。

好吧,那我们开始准备抢注后缀吧。
这个金矿,应该比当前域名的金矿更加的大的可怕。

Web 前端优化最佳实践之 Server 篇

DBA notes的文章

Web 前端优化最佳实践第二部分面向 Server 。目前共计有 6 条实践规则。【注,这最多算技术笔记,查看最原始内容,还请访问:Exceptional Performance : Best Practices for Speeding Up Your Web Site

1. 使用 CDN (Use a Content Delivery Network)

国内 CDN 的普及还不够。不过我们有独特的电信、网通之间的问题,如果针对这个作优化,基本上也算能收到 CDN 或类似的效果吧(假装如此)。【Tin 说国内 CDN 用的挺多,看看 CDN 厂商的市场就知道了,还没走入寻常百姓家】

2. 添加 Expires 或 Cache-Control 信息头 (Add an Expires or a Cache-Control Header)

各个浏览器都有针对的方案, Apache 例子【注意:下面的说明例子还不够精细,具体的环境上还要加一些调整】:


ExpiresActive On

ExpiresByType image/gif "modification plus 1 weeks"

Lighttpd 启用 mod_expire 模块 后:


$HTTP["url"] =~ "\.(jpg|gif|png)$" {

     expire.url = ( "" => "access 1 years" )

}

Nginx 例子参考:


location ~* \.(jpg|gif|png)$ {

  if (-f $request_filename) {

        expires      max;

    break;

  }

}


3. 压缩内容 (Gzip Components)

对于绝大多数站点,这都是必要的一步,能有效减轻网络流量压力。或许有人担心对 CPU 压缩对于 CPU 的影响,放心大胆的整吧,没事儿。Nginx 例子:


gzip            on;

gzip_types      text/plain text/html text/css ext/javascript;

另外参见:

4. 设置 Etags (Configure ETags)

对于 Etag,可能是多数网站维护者都会忽略的地方。在这一系列优化规则出现之前,可能互联网上绝大多数站点都对这个问题忽略了。当然,Etag 对多数站点性能的影响并不是很大。除非是面向 RSS 的网站。【看到有朋友批评说写的简略,并且说 IE 不支持 ETag。明确说一下:IE 支持 ETag,倒是使用 IIS 要注意相关 Etag Bug。】

5. 尽早刷新 Buffer (Flush the Buffer Early)

对这一条,琢磨了半天,貌似还是异步的思路。能更好的提升用户体验?

6. 对 AJAX 请求使用 GET 方法 (Use GET for AJAX Requests)

XMLHttpRequest POST 要两步,而 GET 只需要一步。但要注意的是在 IE 上 GET 最大能处理的 URL 长度是 2K。

Web 前端优化最佳实践之内容篇

DBA notes的文章

Yahoo! 的 Exceptional Performance team 在 Web 前端方面作出了卓越的贡献。广为人知的优化规则也由 13 条到 14 条,再到 20 条,乃至现在的 34 条--真是与时俱进啊。最新的 34 条也针对不同的角度做了分类。

面向内容的优化规则目前有 10 条。

1. 尽量减少 HTTP 请求 (Make Fewer HTTP Requests)

作为第一条,可能也是最重要的一条。根据 Yahoo! 研究团队的数据分析,有很大一部分用户访问会因为这一条而取得最大受益。有几种常见的方法能切实减少 HTTP 请求:

2. 减少 DNS 查找 (Reduce DNS Lookups)

必须明确的一点,DNS 查找的开销是很大的。另外,我倒是觉得这是 Yahoo! 所有站点的通病,Yahoo!主站点可能还不够明显,一些分站点,存在明显的类似问题。对于国内站点来说,如果过多的使用了站外的 Widget ,也很容易引起过多的 DNS 查找问题。

3. 避免重定向 (Avoid Redirects)

不是绝对的避免,尽量减少。另外,应该注意一些不必要的重定向。比如对 Web 站点子目录的后面添加个 / (Slash) ,就能有效避免一次重定向。http://www.dbanotes.net/arch 与 http://www.dbanotes.net/arch/ 二者之间是有差异的。如果是 Apache 服务器,通过配置 Alias 或mod_rewrite 或是 DirectorySlash 能够消除这个问题。

4. 使得 Ajax 可缓存 (Make Ajax Cacheable)

响应时间对 Ajax 来说至关重要,否则用户体验绝对好不到哪里去。提高响应时间的有效手段就是 Cache 。其它的一些优化规则对这一条也是有效的。

5. 延迟载入组件 (Post-load Components)

6. 预载入组件 (Preload Components)

上面两条严格说来,都是属于异步这个思想灵活运用的事儿。

7. 减少 DOM 元素数量 (Reduce the Number of DOM Elements)

8. 切分组件到多个域 (Split Components Across Domains)

主要的目的是提高页面组件并行下载能力。但不要跨太多域名,否则就和第二条有些冲突了。

9. 最小化 iframe 的数量 (Minimize the Number of iframes)

熟悉 SEO 的朋友知道 iframe 是 SEO 的大忌。针对前端优化来说 iframe 有其好处,也有其弊端,一分为二看问题吧。

10. 杜绝 http 404 错误 (No 404s)

对页面链接的充分测试加上对 Web 服务器 error 日志的不断跟踪能有效减少 404 错误,亦能提升用户体验。值得一提的是,CSS 与 Java Script 引起的 404 错误因为定位稍稍"难"一点而往往容易被忽略。

这是内容篇的 10 条。应该说具体引导性的内容还不够详细。逐渐会根据自己的理解补充上来。

突破基于 HTTP_REFERER 的防盗链措施

GraceCode上面的文章

比较郁闷就是某些"小气"的网站,会加上防盗链的功能(特别本人在看 Google Reader 时)。其实防盗链这个技术并不复杂,目前基本就是在服务器端判断 HTTP_REFERER 的位置,如果不是来自本站自身,则拒绝输出(详细)。

那么如果考虑突破防盗链的措施,就需要考虑在 HTTP_REFERER 上面做手脚了。PHP 脚本中对应的变量是 $_SERVER['HTTP_REFERER'] ,它存储了 HTTP_REFERER 的值。

由于直接访问目标 URL 资源已经被上述防盗链的措施给屏蔽,所以我们需要个类似网关的玩意去获取。说白了就是编写已经包装过的 HTTP 头的 PHP 脚本。

下面是简单的函数实现:


function getRemoteFile($url, $refer = '') {

    $option = array(

            'http' => array(

                'header' => "Referer:$refer")

            );

    $context = stream_context_create($option);

    return file_get_contents($url, false, $context);

}

这是个比较简单的函数,其功能就是伪造 Referer (使用 stream_context_create 函数)然后获取对方的数据(使用 file_get_contents,需要开启 allow_url_fopen )。

如果想"复杂"一点,可以使用 sockets 扩展,这不在这里的讨论范围以内。

另外,再提供个获取主机名的正则函数


function getHost($url) {

    $result = preg_match('/^http:\/\/([\d|\w|\.]+)\//', $url, $matches);

    if (sizeof($matches) >= 2)  {

        return $matches[1];

    } else {

        return null;

    }

}

再进一步的扩展,可以封装成脚本,然后譬如调用


http://127.0.0.1/proxy.php?url=http://i.am/img

就可以获取那些开启防盗链措施的链接了(再发挥下,使用 Javascript 将图片链接全部替换)。