← 返回職場資訊
Advice Columnist

HTTP:互聯網的共同語言

互聯網的共同人類語言是甚麼呢?答案是英文,根據維基百科,世界上有五成四的網站都是以英文寫成,另外的四成六則以其他世界各地的語言寫成,所以說互聯網上的用家(即是各位)主要使用英文溝通也不為過。可是大家細想一下,互聯網上的電腦,又是怎樣互相溝通的呢?當你鍵入 https://www.google.com,為何遠在千里之外的Google伺服器,能夠與你桌上的手提電腦裏的Google Chrome溝通呢?這一切,要由互聯網誕生之初講起。

Source

 

互聯網之誕生

互聯網基於不同年代發明的科技所運作,現在大家早已習慣的光纖,是由光纖之父高錕於1966年最早提出光纖可以作為長距離高速通信的媒介,爾後有其他科學家再實作出可以傳輸資訊的光纖;而最早將多部電腦作為網絡連接的實驗,是美國於六零年代研發的ARPA網,及至七十年代已有歐洲的電腦包括在網絡中,大家可能聽過的TCP/IP,正正是由ARPA網於1983年所發展出來。最後一部份,由添‧柏納斯‧李發明了HTML、HTTP。最早的互聯網就終告成形。以下是一張顯示現代互聯網所基於的協定。

 

Source

 

上圖所顯示的,其實不同協定所堆疊出來的TCP/IP模型。協定(Protocol)就是一個通訊中兩方面都能理解的溝通型式,最形像化的例子,就 是兩方面中間的共同語言,正因整個模型是互聯網運作之基本組成部份,因此又名作互聯網協議(Internet Suite)。 TCP/IP其實包括TCP、IP兩種協定,分別份屬傳輸層(Transport Layer)、網絡層(Internet Layer),HTTP(超文本傳輸協定)。則屬於上面應用層(Application Layer)。

科技詞語解釋: 以上各種不同的層,概念相當抽象,即使大家直接閱讀維基百科也不易理解,理解的最佳方法,是以大家每季都要收到的水費單作為例子。

  • 應用層(Application Layer): 應用層就是當水務局計算了陳大文先生今季的水費,將水費單郵寄給陳大文先生。
  • 傳輸層(Transport Layer): 傳輸層就是郵差,專責將水務局的信件送到陳大文家中信箱。
  • 網絡層(Internet Layer): 網絡層就是郵寄地址,信件上必須寫好郵寄地址,才能準確送達。
  • 連結層(Link Layer): 連結層指的就是街道上的郵箱、陳大文大廈的郵箱,沒有郵箱,陳大文也不能收到水費單了。

由此例子可見,應用層關注的是最抽象將水費單送到陳大文手上,不會關心陳大文家中是否有郵箱。傳輸層也只會送信,信中內容,不管是律師信還是水費單,郵差也不在乎。 網絡層着重的是地址清晰及唯一,因此地址要寫成像荃灣海盛路11號One Midtown 27樓15-16室,不可以只寫成荃灣,不然信就送不到陳大文手上。連結層着重的 是硬件上是否無礙,郵箱爛了,就無法寄信。 每上一層,愈抽象;每下一層,愈具體。 愈抽象,則愈接近日常應用;愈具體,平時就不為人所見(你對上一次看過郵差正好派信給你是何時?)

要理解這個複雜的模型,由最上層的HTTP開始理解,就再好不過。TCP/IP將留待以後解釋。


HTTP

比較下面的傳輸層、網絡層,HTTP算是相當廣為人知,大家上網的網址前,都有http://或是https://的字樣,例如大家常去的https://www.google.com前面就有https://。HTTP的全名,是Hypertext Transfer Protocol,中文就是超文本傳輸協定。超文本的意思,就是指HTML,因為HTML的全名就是Hypertext Markup Language(超文本標記語言),而整個HTTP的運作方式都為了從伺服器將HTML及其他資料傳輸到瀏覽器之內,因此事如其名,是有其因由。

 

Source

 

HTTP的運作方法並不複雜,上圖就將整個過程,由輸入網址開始,直至網站就緒,分為五大部份

  1. 用戶於瀏覽器鍵入URL(全名是Uniform Resource Locator),通常URL都會有以下的格式

http://host:port/path/file

 

http://tecky.io:1234/

所謂Host(主機)就像大廈名,port就像單位名稱,一棟大廈可以有很多單位,同理一部主機也有很多不同的port,最常見的port就是80。 平常大家上網的時候,很少會真正看見:port的身影,如果沒有寫下像上邊tecky.io:1234的例子一樣寫下port,瀏覽器就會預設為80。 而對於https://開頭的網站來說,port就是443。

  1. 瀏覽器送出一個HTTP請求(HTTP Request)

HTTP請求的格式非常簡單,因為HTTP是一個文字為主(Text Based)的協定,以下是一個HTTP請求的例子。

GET / HTTP/1.1

Host: www.google.com

User-Agent: curl/7.58.0

Accept: */* en-US,en;q=0.9,zh-TW;q=0.8,zh;q=0.7

請求(Request)包含了瀏覽器傳送給伺服器的資訊,元數據(Metadata)例如語言、日期等則會放到HTTP標頭(Header)之中,而其他資訊則會放到 HTTP正文(Body)之中。當大家上載圖片時,圖片的內容就是放在正文之中。而大家經常於不同網站登入登出,該登入之狀態則是由一個 叫cookie的標頭所儲存,這正正是為何於公共地方使用無加密Wifi不安全,因為標頭資料可以輕易被竊取。

  1. 伺服器將URL映射到伺服器程式

伺服器程式(Server Software)與伺服器(Server)是常常被混用的兩個詞語,一般來說,伺服器指的是硬件,而伺服器程式指的就是在硬件運行專為了回答HTTP請求的軟件,因為此程式設計師常常會用Server一詞借代Server Software。PHP、NodeJS、Java、Python都是編寫伺服器程式常用的程式語言。而編寫此類軟件時,也常常需要不同的框架,較受歡迎的有:Express、Laravel、Django等。 伺服器程式普遍都會接駁到資料庫,以儲存用戶之資料。

  1. 伺服器傳回一個HTTP答覆

伺服器根據請求內容的不同,回覆不同的HTTP答覆(Response),像請求一樣,HTTP答覆一樣有正文(Body)及標頭(Header)之分。通常網站會將內容放到正文之內。而同樣屬於元數據的資訊則會放到標頭之中。對應上面向Google的請求,以下正是由Google 伺服器而來的答覆:

HTTP/1.1 200 OK

Date: Mon, 25 Feb 2019 03:03:15 GMT

Expires: -1

Cache-Control: private, max-age=0

Content-Type: text/html; charset=ISO-8859-1

P3P: CP=”This is not a P3P policy! See g.co/p3phelp for more info.”

Server: gws

X-XSS-Protection: 1; mode=block

X-Frame-Options: SAMEORIGIN

Accept-Ranges: none

Vary: Accept-Encoding

Transfer-Encoding: chunked

 

<!doctype html><html …

答覆上面的是標頭,以下的是正文,正文由於實在太長,故此省略從簡,正文的內容,正是以HTML格式寫成。

  1. 瀏覽器讀取答覆,顯示網站

瀏覽器讀取了答覆,根據HTML的規則,將整個網站顯示出來,就成了大家習以為常的Google 搜尋器版面。

 

 

因此,簡簡單單的顯示一個網頁,確實蘊含着過去幾十年人類資訊科技發展的結晶,殊不簡單。

 

HTTP的版本

有甚麼比理解HTTP的運作方式更困難?就是要理解三個HTTP的運作方式。HTTP最常用的版本是HTTP/1.1也就是1.1版本,於1999年由互聯網協會所公佈。而及至2014年,又再發佈了HTTP/2作為最新的實作標準,要發佈新的標準,是因為現今的網站,與上世紀九十年代,已大相逕庭。HTTP/2的製定主要為了改善大網站載入速度較慢的問題,減少所需的請求數,節省載入時間,從而改善用戶體驗。而很多現有支援HTTP/2的伺服器及客戶端都原生支援加密通信,令互聯網更安全。 HTTP/2才支援了不久,出現在大家視野的,還有HTTP/3,HTTP/3最早由Google的工程師所開發,希望更進一步改善傳輸速度及於協定中提供安全保護。在2015年就已經開始了標準化的工作。

Source

總結

科技的發展,除了硬件愈來愈快,體積愈來愈小,效率愈來愈高之外,常常被人忽略的,其實是範式轉移(Paradigm Shift),HTTP的發展,正是隨著大家對網上應用(Web Application)的理解日益進步,才有今日的成果。大家下次瀏覽你最愛的網站,不妨停下來,想一想沒有HTTP、互聯網的世界,會是多麼的不同。



文章來源:Tecky Academy – Gordon Lau

呢篇文章係由Tecky Academy提供。如果你中意呢篇文章,您可以喺呢到睇更多佢哋嘅文章。

 

不要讓在亞洲的頂尖科技公司之中工作停留在夢想的階段。在GetLinks創立自己的履歷,並在完成履歷時選擇「我想跨國工作」一欄,今日就向你的夢想踏出第一步吧!

 

GetLinks Recruitment

GetLinks Recruitment

GetLinks Recruitment 是一家全方位的人材招募公司。 自2015年以來,我們已經為亞洲超過20,000位人才找到了完美的匹配, 我們的 使命是為求職者和僱主提供一個高效 的 連接平台。 GetLinks Recruitment 迅速成為不少 公司值得信賴的合作夥伴,在全球多個地點設有辦事處,提供一個真正全球化的專業人士和企業網路。

繼續閱讀

相關職場資訊

【職場求生術】遇上「扮工」專家?教你4招對付成日扮忙嘅同事
Advice Columnist

【職場求生術】遇上「扮工」專家?教你4招對付成日扮忙嘅同事

喺香港職場,大家一定遇過呢種同事:日日將「好忙啊」、「真係做唔切」掛喺嘴邊,一有新 Task 就即刻卸膊。最令人眼火爆嘅係,佢哋硬係鍾意喺 Weekend 或者半夜三更覆 Email,特登 CC 晒畀班 Management 睇,營造一個「搏命為公司」嘅假象,但實際上工作產出少之又少。 面對呢種「扮工」專家,身為同事嘅你難免會覺得委屈,甚至因為佢推卸責任而增加咗自己嘅 Workload。今次為你準備咗以下 4 招應對策略,教你點樣優雅地應對,唔使硬食死貓! 1. 劃清界線,拒絕無了期「接身後事」 2. 白紙黑字,留低溝通紀錄 3. 唔好做觀眾,冷處理「非辦公時間」嘅表演 4. 專注自己,相信管理層嘅眼光 職場上最重要係保護自己嘅 Mental Health。與其為咗「扮工」同事激心,不如將精力放喺提升自己嘅實力上!

老細每粒鐘要你「報更」?4招教你對付 Micro-management 控制狂上司!
Advice Columnist

老細每粒鐘要你「報更」?4招教你對付 Micro-management 控制狂上司!

返工最怕遇到啲咩?唔係無窮無盡嘅 OT,而係遇到一個 Micro-management(微管理)嘅老細!每日每分每秒都 mon 住你,不停問:「你而家做緊咩?」、「份report搞成點?」,最誇張嘅甚至要你每日 mark 實一張 Time sheet,每個鐘「報更」匯報自己做過啲乜。 面對呢種令人窒息嘅工作環境,與其日日喺位度反白眼兼懷疑人生,不如試下用以下 4 招「反客為主」,拆解老細嘅不安感! 1. 主動出擊:先發制人,塞爆佢個 Inbox 控制狂上司之所以不停問,往往係因為佢缺乏安全感,覺得一切唔喺佢掌握之內。既然佢咁想知,你就不如主動匯報! 2. 善用工具:透明化你嘅工作日程 老細要你每個鐘寫 Time sheet?與其嘥時間填表,不如主動提議用更有效率嘅方法。 3. 向上管理:委婉反映「報更」嘅時間成本 好多老細未必意識到,不停要求員工匯報,其實係會拖慢工作進度。你要搵個適當嘅時機(例如 One-on-one meeting),平心靜氣咁同佢傾下。 4. 建立信任:用實力證明你係「靠得住」 講到尾,Micromanagement 嘅核心問題係「信任」。要老細放手,首先你要證明自己值得被信任。 🌟 終極絕招:三十六計,走為上計! 如果你試過晒以上方法,交足貨又主動溝通,但老細依然故我,將控制慾無限放大,搞到你精神緊張、壓力爆煲……咁證明呢間公司嘅文化根本唔適合你。 與其留喺度受氣,不如及早轉身!全港咁多好老闆,總有一個懂得欣賞你嘅獨立工作能力!唔好等啦,即刻為自己嘅 career 搵條新出路!

【IT事務所】數位經濟與平台經濟:差異與對企業的深遠影響
Advice Columnist

【IT事務所】數位經濟與平台經濟:差異與對企業的深遠影響

在當今快速變遷的科技時代,「數位經濟」(Digital Economy)與「平台經濟」(Platform Economy)是兩個常被交替使用的名詞。然而,兩者在經濟學定義與商業運作邏輯上具有顯著的差異。對於企業而言,理解這些差異不僅是理論上的探討,更是擬定未來發展策略、因應市場挑戰的關鍵。 一、 數位經濟與平台經濟的差異 要釐清兩者的差異,我們可以從「宏觀」的經濟型態與「微觀」的商業模式來進行深入探討。 數位經濟是一個廣泛的總體經濟概念,涵蓋了所有依賴數位科技、數據化資訊與網際網路作為關鍵生產要素的經濟活動。它不僅包括純粹的網路產業,也包含了傳統產業的數位化轉型。只要是運用數位科技來提升效率、創造價值的商業行為與經濟體系,都屬於數位經濟的範疇。例如,一家傳統銀行開發了手機應用程式,讓客戶可以在線上完成轉帳與理財,這種利用數位技術提升營運效率的行為,便是數位經濟的典型展現。 相對而言,平台經濟是數位經濟中一個極具顛覆性的特定商業模式。平台本身通常不直接生產商品或提供實體服務,而是作為一個「中介載體」,利用數位基礎設施來媒合雙邊或多邊市場。在價值創造方式上,數位經濟關注技術如何提升生產力,而平台經濟的核心則在於「降低交易成本」與「創造連結」。延續前述的金融例子,如果一家企業建立的是一個P2P網路借貸平台(如LendingClub),它本身不擁有放貸資金,而是純粹媒合有閒置資金的投資人與需要借款的消費者,這就是平台經濟的運作邏輯。 平台經濟最顯著的特徵是「網路效應」(Network Effects)。在這種模式下,平台的價值會隨著使用者數量的增加而呈指數型成長。以叫車服務平台Uber為例,當平台上的司機越多,乘客的等待時間就越短;乘客體驗變好後,會吸引更多乘客使用,進而又吸引更多司機加入以獲取更高收入。這種跨邊網路效應在一般的數位經濟企業中並不一定存在,卻是平台企業爆發性成長的關鍵引擎。 此外,平台經濟徹底顛覆了傳統的所有權概念,轉向「資產輕量化」與「使用權」的共享。傳統的跨國連鎖飯店如希爾頓(Hilton)或萬豪(Marriott)需要耗費鉅資購買土地、興建飯店並雇用大量員工;然而,Airbnb作為全球最大的住宿提供者,本身卻不擁有一間客房。平台企業藉由調動社會上的閒置資源,以極低的邊際成本進行擴張,這是傳統數位轉型企業難以企及的優勢。 二、 平台經濟對企業的影響 平台經濟的崛起,徹底改變了傳統企業的競爭環境、成本結構與消費者期望。其對企業的影響呈現出強烈的雙面性,既帶來了前所未有的全球化機遇,也伴隨著嚴峻的生存與依賴挑戰。 商業模式的重塑與創新 : 平台經濟迫使傳統企業從「線性價值鏈」(即生產、行銷、銷售給終端消費者)轉型為「生態系統」思維。企業不再只是單純地銷售產品,而是轉向提供服務、體驗,甚至自己轉型為平台。例如,全球知名的農業機械製造商約翰迪爾(John Deere)不再只是一間賣牽引機的公司。他們將設備連上網路,建立了一個農業數據平台,讓農夫、種子供應商與軟體開發者可以在平台上共享天氣、土壤與作物數據,成功從傳統硬體製造商轉型為平台生態系的管理者。 降低市場進入門檻與全球化擴張 : 對於新創公司與中小企業而言,平台經濟大幅降低了接觸消費者的門檻。過去,一個在地工匠或獨立設計師若要將產品賣到國外,需要耗費巨資建立實體通路、尋找代理商或建置昂貴的跨國電商網站。如今,透過如Pinkoi、Etsy或Amazon等大型平台,企業可以「隨插即用」這些現成的數位基礎設施與全球金流、物流系統,迅速將商品賣給全世界的用戶。這種便利性讓企業能將資源集中在產品創新與服務優化上。 競爭加劇與「贏者全拿」效應 : 平台經濟高度依賴數據與網路效應,這極易導致「強者恆強」的局面。當一個平台累積了龐大的用戶基數與數據後,其演算法會變得更精準,進一步形成跨越不過的護城河。例如在搜尋引擎領域的Google,或是社群媒體領域的Meta,因為其龐大的網路效應,後進者幾乎無法撼動其地位。這種「贏者全拿」(Winner-takes-all)或寡占的動態,意味著傳統企業若無法加入主流平台生態圈,或在其中找到無可取代的利基市場,將面臨被邊緣化的巨大風險。 高度的平台依賴風險 : 水能載舟,亦能覆舟。當企業過度依賴單一大型平台時,會喪失對定價、客戶數據以及品牌體驗的控制權。例如,許多餐飲業者高度依賴Foodpanda或UberEats等外送平台來獲取訂單,這不僅意味著必須支付高昂的抽成費用,更代表著他們無法掌握顧客的真實聯絡方式與消費輪廓。同樣地,許多依賴Facebook粉絲專頁獲取流量的新聞媒體與電商,只要平台演算法稍作修改,其觸及率與營收便可能面臨雪崩式的下滑。這種高度的依賴風險,是當代企業在擁抱平台時必須謹慎管理的課題。 數據成為核心競爭資產 : 在平台生態中,數據是最有價值的戰略武器。平台企業透過掌握雙邊用戶的行為數據,能進行極度精準的行銷與產品優化。這種資訊不對稱有時會對依賴平台的企業造成威脅。以Amazon為例,平台上累積了無數第三方賣家的銷售數據;當Amazon發現某款商品極度熱銷時,便可能利用這些數據推出自家的「Amazon Basics」自有品牌產品,以更低的價格與更好的搜尋排名與原本的賣家競爭。因此,傳統企業在利用平台的同時,也必須設法建立自己收集第一手數據(First-party data)的渠道,以維持長期的競爭力。 三、 結論 數位經濟為我們勾勒了技術賦能的廣闊藍圖,而平台經濟則是這幅藍圖中最具爆發力與顛覆性的引擎。透過豐富的實際案例可以看出,面對平台經濟的浪潮,現代企業不能僅僅停留在「將現有業務數位化」的階段。企業必須深入理解多邊市場的運作邏輯與網路效應的威力,思考如何巧妙地融入現有的平台生態系,妥善管理依賴風險,甚至在特定的利基領域中構建屬於自己的微型平台,方能在這場沒有邊界的競爭中立於不敗之地。