国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

12306訂票助手插件拖垮GitHub事件的緣由

系統
1月15日晚間,全球最大的社交編程及代碼托管網站GitHub被12306訂票助手插件拖垮,這是為什么呢?為什么一個瀏覽器插件需要從GitHub引用資源?GitHub的負載能力這么弱嗎?本文將和大家一起分析整件事情的緣由。

事件起因

  春節臨近,12306訂票難的問題再一次被引向風口浪尖。而這一次,各家瀏覽器廠商不失時機的推出了“春節專版”。這些林林總總瀏覽器的共同特點,是集成了一位網友iFish(木魚)的“訂票助手”插件。

  不湊巧的是,這個插件的早期版本使用GitHub的Raw File服務作為CDN,并對返回403錯誤代碼的請求使用非常暴力的5秒重試。于是,在1月15日的時候,第一個訂票小高峰到來的時候,GitHub被間接的DDos。

  GitHub的運維工程師Jesse Newland在發現服務器負載異常之后,不得不禁用了這個代碼所在Repo的Raw服務,并在Repo里報告了一個issue —— 他發現12306引用了這個Repo里的一個資源,由于訪問量巨大,這個資源對GitHub的服務產生了負面的影響,希望有人可以聯系到12306的工程師去除這個引用。

  身在大洋彼岸的GitHub工程師在解決了GitHub的服務問題之余,顯然不太清楚中國的兩點情況:

  • 春運是什么,12306是什么
  • 12306的工程師是不可能被聯系到的

  大家疑問

  大家的質疑,存在于兩點:

  • 為什么一個瀏覽器插件需要從GitHub引用資源?
  • GitHub的負載能力這么弱嗎?

  疑難解釋

  第一個問題,還是讓插件作者木魚自己來解釋:

   引入自動更新。

  由于12306訂票助手是個很特殊的東西,依賴于鐵道部的網站而存,并且其運行極度依賴網站本身的功能以及頁面結構,所以隨著鐵道部的改進,很容易失效(雖然他們的前臺樣子從開始到現在,一年多了幾乎就沒變過……他喵的為什么我又要用年做單位說時間,真傷心)。因此為了保證功能的正常,訂票助手在很早的版本開始就引入了自動更新機制(1.4開始)。最開始的更新都是放在自己網站上的,并且區分了Firefox和Chrome。

  最初的助手是以UserScript的模式出現的,調試在Firefox下調試。在Firefox下時,Scriptish提供了支持跨域的GMxmlHttpRequest功能,可以直接用ajax訪問我的網站。但是在Chrome下,則沒有這樣的便利,不支持跨域ajax,所以用的是引入script腳本的方式檢測更新。在后來Firefox和Chrome分支完全合并后(最開始針對不同的瀏覽器分離的,后來發現同步實在太麻煩了),舍棄了一些特異的功能(如GMxmlHttpRequest),為一些功能做了適配(如桌面通知),更新也就用下來了。

  但是后來不知道什么時候開始,這個更新機制突然失效了。為啥呢,這要從另一件事開始說起。

  那就是12306的HTTPS。

  作為一個日點擊14億的網站,網宿科技的CDN還是很給力的,根據我收集到的資料,其加速節點上百個。但是,作為一個訂票的網站又要CDN的,為什么會用HTTPS協議還是一個自簽發的根證書,實在太讓人費解。任何一個了解網絡知識的人都知道,HTTPS協議下服務器的負載能力要比HTTP的低很多,何況訂票又不是什么機密的數據。 總會有人跳腳出來說訂票啊多機密,我總是很反對,哪門機密了,車次還是余票數據?

  這個HTTPS帶來了很大的麻煩。

  不知道哪個版本Chrome引入的安全機制,對于一個HTTPS網站,其所有引用的資源(Script和StyleSheet之類的),也必須位于HTTPS的服務器上,否則拒絕執行。而我并沒有HTTPS服務器,因此,Chrome下自動更新華麗地掛了。 然后是Firefox。Firefox下播放不了音樂,我一直以為是Firefox不支持,后來才發現是Firefox的安全機制在作怪:HTTPS的網頁拒絕播放來自于HTTP的多媒體文件。 這倆奇葩讓我傷透了腦筋。然后無意中瞥見GitHub竟然是HTTPS的,So…… 轉移過去,變成了順理成章的事情,我求爹爹告奶奶沒求來一臺HTTPS的服務器,雖說有免費的SSL證書什么的但是我去申請的時候,連那提供商的網站自己都證書錯誤了。

  于是事情都解決。

  而第二個問題,GitHub的負載能力為什么這么弱,原因在于GitHub根本不適合作為CDN服務。著名博客比特客棧的文藝復興,對此做了詳細解釋:


  • 它并非靜態文件服務器,換句話說,所有請求訪問都要先經過一堆服務器代碼處理,降低了它的相應速度。
  • 它返回的MIME與文件無關(永遠是text/plain),某些瀏覽器,例如說IE,不會執行MIME類型錯誤的javascript文件。
  • 它返回的Cache-Control Header不允許瀏覽器緩存文件,等于失去了CDN最基本的功能。 恰恰因為12306訂票助手不運行于IE,也不希望更新文件被緩存,Raw file的后兩個劣勢才沒有顯現出來。但剩下的那個劣勢,卻讓Github的響應速度大打折扣,不得不暫時封鎖Raw file訪問。

  針對這個問題,原文作者直中要害的提供了兩個層面的解決方案:

1、使用GitHub作為CDN的正確之道:

   那么,Github作為CDN的正道是什么?Github Pages。通過加入gh-pages branch,你可以修改和發布自己repo的文件。值得提醒,Pages雖然免費,并非資源無限,詳見官方Disk Quota的描述——“雖然我們沒設上限,但請各位合理使用。”

  Github輕描淡寫的說合理使用,而不是嚴明規章到MB、GB,其實是一種潛意識的相互信任。這是一種在貧富懸殊供求關系緊張的中國日益缺少的東西,12306訂票助手的存在就是一種印證:乘客不相信12306,12306不相信乘客,最后逼出一個12306訂票助手,每天乃至每半天更新一次來滿足中國人訂票回家的需求。

2、HTTPS下如何引用HTTP資源:

   請問Google Reader,是怎么在HTTPS域下播放優酷與土豆等非HTTPS的視頻?我們在去年9月發現了同樣的問題,Google自己是這樣解決的——

  Chrome 21之后,在SSL加密頁面embed非SSL的Flash會怎樣呢?會被默默的屏蔽掉,只留下一句console報告。那Google Reader是怎么繞過這個問題看優酷與土豆視頻的?他們iframe了一個非SSL頁面,再在里面引用flash(引用頁連域名都是不同的)

  同理也適用于Javascript,這也是12306訂票助手當前的解決辦法(Firefox除外)。不再需要SSL下的CDN了。

不是結束

  也許一切自有冥冥天意。Jesse Newland,這位在“訂票助手”Repo中發出警告的GitHub員工,早在2012年12月份,就已受InfoQ之邀,確定參加2013QCon大會。除了分享GitHub的架構演進之外,Jesse還會分享他負責的項目——GitHub ChatOps運維機器人。不過看來這次大會的演講,他將不得不加入關于12306插件的話題。

  訂票助手的作者木魚,不堪忍受各界觀光團紛紛造訪他本開源在GitHub上的訂票助手代碼倉庫,最終刪除了項目。但他表示仍將繼續精簡/改進這款訂票插件。

  因為這個插件,鐵道部甚至投訴至工信部,要求其責令各家瀏覽器提供商停止提供附帶搶票功能的瀏覽器的下載。不過就本文發表前,各家瀏覽器廠商均表示尚未接到相關通知。

  這一切還都不是結束。

責任編輯:黃丹 來源: infoq
相關推薦

2013-01-17 10:49:42

2013-01-29 10:42:57

2013-01-16 11:42:16

2012-01-06 10:19:27

12306.cn建議

2013-01-16 09:15:05

2013-12-16 17:08:24

2012-01-11 09:18:00

2021-02-20 08:55:58

PythonGitHub互聯網

2015-01-19 09:50:12

阿里云12306云計算

2012-01-10 10:37:19

火車票12306

2023-11-09 11:31:43

GitHub開發

2014-12-27 17:20:11

2012-03-30 14:45:05

騰訊

2014-11-11 15:40:09

2013-12-02 15:21:30

jQuery插件

2014-12-04 10:42:35

chrome插件

2024-02-29 10:05:23

AIGitHub編碼助手

2021-12-03 23:14:49

Github插件開發

2014-12-26 14:24:54

2023-05-22 08:30:35

GPT-4智能編程助手
點贊
收藏

51CTO技術棧公眾號

中国一级大黄大黄大色毛片| 欧美视频在线第一页| 欧美中日韩一区二区三区| 在线观看h视频| 免费看国产曰批40分钟| 男人添女人下部高潮视频在线观看| 国产精品18hdxxxⅹ在线| 国产一区在线精品| 91精品国产视频| 亚洲免费av高清| 久久99久久99精品免观看粉嫩| 亚洲午夜精品久久久久久浪潮| av在线女优影院| 欧美有码视频| 图片区小说区区亚洲影院| 欧美日韩xxx| 看黄网站在线| 影音先锋中文字幕一区| 欧美日韩国产限制| 91在线免费观看网站| 国产一级二级在线| 国产成人在线中文字幕| 亚洲精品在线三区| 亚州欧美一区三区三区在线| 1024在线播放| 美女性感视频久久| 亚洲精品之草原avav久久| 亚洲精品欧美精品| 免费日韩电影| 成人国产一区二区三区精品| 色av吧综合网| 制服丝袜综合网| 国产欧美日韩精品一区二区免费| 亚洲国产一区二区三区| 亚洲片在线资源| 日本一区二区免费高清视频| 性欧美xxx69hd高清| 国产馆精品极品| 久久国内精品一国内精品| 青青草国产精品视频| 日韩高清电影一区| 在线观看日韩专区| 四虎免费av| 日韩第二十一页| 中文在线一区二区| 国产mv免费观看入口亚洲| 日韩欧美在线不卡| 欧美性感美女h网站在线观看免费| 国产精品入口免费视| 成人性爱视频在线观看| 亚洲视频免费观看| 亚洲一区二区三区毛片| 国产三区在线观看| 欧美日韩国产高清一区二区三区 | 在线视频不卡国产| 亚洲成人av观看| 国产精品久久久一本精品| 2020国产精品久久精品不卡| 麻豆福利在线观看| 欧美zozozo| 少妇一级淫免费播放| 欧美激情综合五月色丁香| 91精品视频在线| 久久人体视频| 亚洲国产成人精品一区二区| 无码人妻丰满熟妇区毛片18| 久久影视一区| 91在线精品视频| 国产一区二区三区的电影| 在线看日韩av| 欧美性片在线观看| 久久久伊人日本| 免费a级在线播放| 久久久99久久| 久久久亚洲综合网站| 99精品视频在线免费播放| 五月婷婷激情综合网| 欧美色综合一区二区三区| 国产精品888| wwwxxx黄色片| 亚洲国产成人高清精品| 在线视频1区2区| 日韩毛片在线免费观看| 久草热久草热线频97精品| 亚洲欧美日韩国产| 88xx成人精品| 三级在线看中文字幕完整版| 亚洲欧洲综合另类| h网址在线观看| www.欧美精品一二区| 黄色一区三区| 成人h动漫精品一区二区器材| 欧美丰满美乳xxx高潮www| 午夜两性免费视频| 美女国产一区二区三区| 国产欧美亚洲精品| 日韩欧美中文字幕一区二区三区 | 国产精品成人3p一区二区三区| 日韩一区二区三区精品视频| 免费人成短视频在线观看网站| 国产一区亚洲一区| 男女羞羞视频教学| 日韩欧美在线不卡| 国产精品网站入口| 激情av网站| 欧美绝品在线观看成人午夜影视| 亚洲人体影院| 欧美日韩国产片| 国外成人福利视频| 日韩精品中文字幕在线| 欧美大奶一区二区| 久久99精品久久久久久噜噜| 天天精品视频| 国产成人精品久久亚洲高清不卡| 亚洲欧洲午夜| 96sao精品视频在线观看| 国产一区二区不卡| 日韩av成人| 亚洲综合色区另类av| 少妇黄色一级片| 成人av在线影院| 亚洲网站情趣视频| 亚洲欧美一区二区不卡| 91色在线看| 日韩欧美精品三级| 美日韩中文字幕| 国产97免费视| 牛牛精品成人免费视频| 奇米视频888战线精品播放| 亚洲三级小视频| av成人在线观看| 欧美成人高清视频| 日韩高清在线| 亚洲一区二区在线播放| 欧美激情一区在线| 性国裸体高清亚洲| 国产精品久久一区二区三区| 国产精品av久久久久久麻豆网| 亚洲aⅴ日韩av电影在线观看 | 日韩欧美大片| 欧美亚洲第一页| 欧美激情在线精品一区二区三区| 久久久久久久香蕉| 日韩精品综合一本久道在线视频| 亚洲第一偷拍| 一级理论片在线观看| 91精品国产91久久久久| 久久久国产一区二区三区四区小说 | 色偷偷88欧美精品久久久| 日韩一区二区三区中文字幕| 色综合久久悠悠| 久久a爱视频| 日韩av电影手机在线观看| 国产91富婆露脸刺激对白| 久无码久无码av无码| 26uuu精品一区二区三区四区在线| 欧美三级理论片| 亚洲精选一区二区| 久久97久久97精品免视看秋霞| 97视频在线免费| 亚洲精品美女网站| 99精品中文字幕在线不卡| 国产精品无码电影在线观看| 精品99一区二区三区| 日韩高清不卡一区二区三区| 麻豆传媒视频在线观看| 久久日韩精品| 日本丶国产丶欧美色综合| 日本黄色免费在线| 日韩国产美国| 91最新地址在线播放| 在线视频日韩一区| 亚洲欧美激情四射在线日| 国产成人自拍网| 欧美综合影院| 欧美自拍小视频| 欧美精品电影在线| 羞羞色午夜精品一区二区三区| 最近中文字幕mv2018在线高清| 国产精品色午夜在线观看| 在线免费观看日本欧美| 偷拍自拍在线看| 久久久久久久久久久久久国产| 日韩毛片视频在线看| 欧美午夜寂寞| 最新中文字幕在线视频| 成人羞羞视频免费| kk眼镜猥琐国模调教系列一区二区| 户外露出一区二区三区| 亚洲一区二区三区xxx视频| 91国偷自产一区二区三区成为亚洲经典| 黄色av日韩| 欧美精品无码一区二区三区| 日韩欧美在线视频日韩欧美在线视频| 精品国产乱码久久久久久果冻传媒| 中文字幕av导航| 久久成人免费视频| 爽爽淫人综合网网站| 色老板在线观看| 最新69国产成人精品视频免费|