Protocol Preserve URI 的過濾

雖然知道 //host.domain/path 這種 Relative Protocol 用法 (而且也用很久了),不過最近在 irc.perl.org 上的 #plack 剛好有人提到,再加上最近剛好有人在探討安全性問題:「Bypassing "RequestPolicy" Using Protocol Relative URLs」,剛好可以拿出來再說一次。

簡單來說就是「以 / 開頭的 URI 並非一定是 same origin,不可以以此當作 same origin 的判斷」。因為「//ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js」這種用法是正確的用法,表示保留 Protocol。

另外講些題外話,這個用法也還是有缺點,用在 IE 的 css 時會造成重複抓取 (到 IE9 都還是):「CSS files downloaded twice in Internet Explorer with protocol relative URLs」,script 或是 relative path 都不會,只有 css 會...

反過來說,因為 js 的部份大家都沒問題,所以當使用 Google 提供的 jQuery 時,「永遠」都應該使用「//ajax.googleapis.com/...」,因為 Google Libraries API 是同時支援 HTTP 與 HTTPS 的。

六月的 IPv6 測試...

今年 6/8 將會有超大的 IPv6 測試:「World IPv6 Day has Facebook, Google & Yahoo Support」。

包括 FacebookGoogleYahoo 都會上線測試,另外最大的兩個 CDN 業者 AkamaiLimelight Networks 也都會上線測試。

雖然沒有說明細節,但猜測這次的 IPv6 測試應該是將 Facebokk 的 www.facebook.com、Google 的 www.google.com,以及 Yahoo 的 www.yahoo.com 直接增加 AAAA record (也一樣保留 A record),然後看看結果如何。而 Akamai 與 Limelight Networks 應該是配合有意願的客戶上線測試。

以目前看起來,6/8 的測試會是一個「開始」,這次的測試不會有結束的時候,藉機順便轉換到 IPv6 上。剛好借測試的名義打破雞蛋問題。Google 的測試不知道會不會將 YouTube 部份影片丟上來測,這對 IPv6 的轉移會影響很大:如果 IPv6 bandwidth 夠大,就會有更多 ISP 會建立 IPv6 的環境。

大多數人沒有 native IPv6 環境,多是透過 tunnel 之類的環境使用 IPv6 (尤其是 192.88.99.1 這組 Anycast-based 的 6to4 tunnel)。可以預期到時候會讓使用量衝上去許多...

Google Apps 的 Uptime 計算方式調整 (對使用者有利的方向)

Google 改變了 Google Apps 對 Uptime 的計算方式:「Google Apps Removes Scheduled Downtime Clause From SLA; Gmail Had 99% Uptime in 2010」(TC)、「Destination: Dial Tone -- Getting Google Apps to 99.99%」(Google 官方新聞稿)。

之前的條款內允許 Google 將「排定的維護停機」排除在 downtime 計算外,現在 Google 決定拿掉這條例外條款。然後在文章下面故意提到 Microsoft 的服務:

Comparable data for Microsoft BPOS® is unavailable, though their service notifications show 113 incidents in 2010: 74 unplanned outages, and 33 days with planned downtime.

有興趣看新版 SLA 的人可以連結到英文版的頁面上:「Google Apps Service Level Agreement」。

用 Net::OpenID::Consumer 取得 Google 的帳戶資料

GoogleOpenID 服務有提供 OpenID Attribute Exchange 1.0 (參考「Federated Login for Google Account Users」這個網頁), 測了一陣子才知道要怎麼透過 PerlNet::OpenID::Consumer 取得資料:

my $csr = Net::OpenID::Consumer->new(
    ua => LWPx::ParanoidAgent->new,
    args => {},
    consumer_secret => 'secret',
    required_root => 'http://.../',
    minimum_version => 2
);

my $claimed_identity = $csr->claimed_identity('https://www.google.com/accounts/o8/id');

$claimed_identity->set_extension_args(
    'http://openid.net/srv/ax/1.0',
    {
        mode => 'fetch_request',
        required => 'email',
        'type.email' => 'http://axschema.org/contact/email',
    }
);

my $check_url = $claimed_identity->check_url(
    delayed_return => 1,
    return_to => 'http://.../...',
    trust_root => 'http://.../'
);

say $check_url;

之前會試不出來,主要是卡在 type.email 忘記加,加上去的時候又打成 email...

Firefox 在歐洲的市占率首次超越 IE

如標題,StatCounter 統計資料顯示 Firefox 在歐洲的市占率首次超越 IE:「Firefox overtakes Internet Explorer in Europe in browser wars」。

不過由圖可以看出來,並不是 Firefox 這一年有顯著成長而超越 IE,而是 Google Chrome 在這一年吃掉 IE 下滑的部份。

同樣以 StatCounter 的資料來看,台灣的 IE 佔有率在 77% 左右,Google Chrome 的市占率應該會在這半年內超越 Firefox。好事是 IE6 的佔有率愈來愈低了,目前是 17% 左右,而且有機會在這半年內降到 10% 附近... 2012 年設計網頁應該可以忽略這個古董了...

Amazon「導入」Wikipedia 並加上廣告連結

參考 Slashdot 的「Wikipedia Pages Now On Amazon — With Product Links」這篇文章。

Amazon 所產生的 Wikipedia 對應頁面在這:「Main Page - Shopping-enabled Wikipedia Page on Amazon」。

依照 Wikipedia 的文章授權,是可以這樣做沒錯 (沒有禁止商業使用)。不過 Google 禁止複製別人的重複內容:「Duplicate content」。

以目前 www.amazon.com/robots.txt 的內容看起來是沒對 /wiki 設限,接下來就來看 Google 會不會認定 Amazon 試著在惡搞 SEO 而列入處罰清單...

處處有廣告!

這個 extension 真的會讓人噴飯 XDDD

TechCrunch 介紹了「Jimmy Wales」這個 Google Chrome Extension:「Chrome Extension Lets You Just Add Jimmy Wales」。

Wikipedia 一直拒絕放廣告取得收入 (參考:「An appeal from Wikipedia founder Jimmy Wales」),但相當諷刺的是,每年大概這個時候都會有超煩人的橫幅廣告,請你捐錢給 Wikimedia...

我有寫一個 Greasemonkey Script 處理這個:「Wikipedia AD remover」。

這個 Extension 相當機車啊 XDDD (以下是裝上去以後的效果,取自 TechCrunch XDDD)

露天拍賣的圖片自動展開程式 (Firefox、Google Chrome、Greasemonkey)

露天拍賣的圖片是等到有用到時才會讀進來,這其實對於用 tab 用習慣的我不太方便,因為我會在搜尋頁一次開完,然後一個一個看。這樣的好處是不需要等讀片讀入的時間...

我只在 Firefox + Greasemonkey 上測試過,不過因為程式很簡單 (只有一行),理論上在 Google Chrome 上應該也可以用。

程式在「Ruten Images Autoloader」,請測試給意見囉...

Google 發佈 WebP,號稱比 JPEG 更好的圖片壓縮格式...

Google 剛剛發表了 WebP,一個從 VP8 擷取出來的圖片壓縮格式:「WebP, a new image format for the Web」。

以 Google 的說法,從網路上隨機抽一百萬張圖片測試,原先使用 JPEG、PNG、GIF 壓縮的圖片,改用 WebP 後可以節省 39% 的空間。但這邊沒有提到測試的細節,像是壓縮後的品質,以及這一百萬張圖片是如何取樣...

雖然在官方網站上有「Sample image files in JPEG and WebP」可以看,但比較奇怪的是,Lenna 居然沒有列出來,這幾乎是圖片壓縮的必測項目?

目前的 WebP 只是先從 VP8 抽出來而已,還沒有加到 Google Chrome 裡,不過就網頁上的說明,已經在計畫了。