2008年1月5日

高鐵春節網路訂票作業

因為北嘉航線停擺之故,今年必須和一干人等利用高鐵進行南北機動。若要確保春節期間的南北機動能力,就必須在元月五日凌晨零時起進行高鐵網路訂票大作。

不過哩,因為高鐵網站的莫名其妙設定(他們做了一個連線數上限的設定),我相信實際在 00:00 ~ 01:00 間真正訂到票的應該比想像中的少很多,為什麼?因為高鐵網站會掉封包,還有 HTTP 連線的 stateless 特性。

掉封包的問題比較容易理解(反正就是連不上),但 HTTP 連線的 stateless 特性有啥影響?簡而言之,stateless 特性是指 Web Server 端在資料傳送給瀏覽器後即中斷該次連線以便將資源留給其他的瀏覽器/客戶端,等到使用者在瀏覽器中填入所需資料後再重新建立與 Web Server 間的連線。問題就在這兒,如果瀏覽器無法重新建立對 Web Server 間的連線時,整個訂票作業馬上失敗,運氣好點還可看到如下資訊的頁面,差一點的則連這個頁面都看不到。失敗的原因也不難確認,因為大家都在努力的重新載入頁面,希望能看到訂票作業中第一個輸入日期的頁面,那導致連線數一直遠高於網站設定的連線數上限。

不過好在我一早起床後發現網站終於可以訂票了,馬上訂了 4 張,並在中午完成付款取票程序。至於等待取票的過程則有許多插曲,簡單的歸類都只有一個… 『高鐵訂票網站操作不易,經常性的造成重覆授權或無法授權的情形』,看來高鐵還是沒能從先前自動售票機的失敗中得到使用者界面的最高指導原則 - 無腦操作!

另外,在 00:00 ~ 01:00 的戰役中個人使用了 Firefox 及 SeaMonkey 兩個瀏覽器進行攻防,不過很顯然高鐵訂票網站的設計人員看到不認識的瀏覽器時會特別興奮,然後跳出以下視窗來困擾正心急於進行訂票作業的使用者…