← Career advice
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都是編寫伺服器程式常用的程式語言。而編寫此類軟件時,也常常需要不同的框架,較受歡迎的有:ExpressLaravelDjango等。 伺服器程式普遍都會接駁到資料庫,以儲存用戶之資料。

  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 迅速成為不少 公司值得信賴的合作夥伴,在全球多個地點設有辦事處,提供一個真正全球化的專業人士和企業網路。

Keep reading

Related career advice

【中小企實戰】企業「出海」拓版圖,IT系統也要跟着走出去嗎?
Advice Columnist

【中小企實戰】企業「出海」拓版圖,IT系統也要跟着走出去嗎?

企業走向國際市場,早已不再是跨國巨頭的專利。特區政府於去年特別成立「內地企業出海專班」,並於今年3月推出專屬門戶網站與跨界別服務平台,涵蓋金融、法律、物流及通訊科技等八大領域,全力支援企業以香港為跳板發展海外業務。官方數據更顯示,內地目前有逾 5,000 萬家中小企業,許多正積極探索海外商機,期望藉此拉大業務版圖、打響品牌名聲並分散單一市場風險。 在這波滔滔不絕的「出海」大潮中,筆者作為 IT 業界的一份子,認為非常值得大家共同思考一個核心議題:香港企業走出去,IT系統是否也要一起走出去? IT 系統出海:真正的關卡不在於技術 香港許多 IT 服務商本身也屬於中小企,資源相當寶貴。要把業務推向海外,除了產品本身的研發,還牽涉到人手安排、在地銷售、售後維護及營運開支。若在未摸清當地真實需求前,就冒然投入鉅資搭建海外團隊,盲目擴充的風險極高。 另一個極其棘手的現場考驗,正是「水土不服」。一套在香港本地大獲好評的系統,換個市場未必能直接照搬套用。當地客戶的作業流程、採購習性、法規限制,乃至對服務品質的期待,都可能迥然不同。缺乏對在地文化的切身理解,推行新項目時定會困難重重;如果你的成功故事都只是在香港,這樣要做出成績,要花很長時間和金錢。 更關鍵的是,做 B2B 商業模式極度依賴人脈與信任。初來乍到一個陌生環境,就算技術再頂尖,缺乏在地網絡也很難拿到第一個客戶的信任票。因此,香港 IT 企業在打算「出海」時,萬不能只單向思考「我們具備甚麼技術」,而是要逆向問自己:「當地客戶究竟需要甚麼?」 拒絕單打獨鬥:借力 Partner 才能走得穩健 筆者非常推崇且一貫倡導的策略,是尋找深刻理解當地市場的在地企業進行深度合作。Partner(合作夥伴)為你帶來的,絕不僅僅是一條銷售渠道,更是極其珍貴的在地人脈、實務營運經驗與文化洞察。 商場上從來沒有包賺不賠的生意,特別是對資源有限的中小企來說,善用 Partner(合作夥伴)模式絕對是降低營運風險的核心智勝策略。再者,做生意絕不止於研發好產品,成功關鍵很大程度取決於 Sales & Marketing(市場推廣與銷售)。若缺乏足夠的 Sales & Marketing 投入,就算產品再頂尖也是枉然。試想當你置身於一個完全陌生的海外市場,既無在地人脈、又缺乏品牌歷史與市場信任度,商業效益必然會「大打折扣」。因此,前期在市場推廣)、生產與 銷售渠道上的資源部署,對於爭取接觸潛在客戶而言,起着至關重要的決定性作用。 另一個不容忽視的實戰關鍵,在於產品於當地所產生的實際產值。我們從事 IT 系統開發與方案的本質,說到底就是幫客戶創造價值(不外乎是增加收入、省下營運成本或降低人為錯誤率)。然而,若系統搬到海外後無法發揮相應的經濟效益,自然就很難敲開市場大門。特別是進軍東南亞等新興市場時,由於當地生活水平與人工成本普遍較低,企業若打算以 IT 系統取代人力,就必須精準評估系統所創造的產值與效率增幅,是否真的能切合當地的成本結構與市場承受力。 在合作架構上,企業完全不必在一開始就下重本設立海外分公司,可以佔新公司 30% 或以下即可,抑或採用按項目的技術合作、共同開發、代理分銷,甚至技術入股等靈活彈性的形式。先透過輕量化方式測試市場水溫,再依據後續表現評估是否追加投資。這樣既能緩解資金運用壓力,也能讓團隊在實戰中逐步摸清在地需求。 而挑選 Partner 的核心條件,最主要是看其是否具備豐富的 B2B 生意經驗。政府近期大力推動的「出海全球通」,正正是透過串聯跨領域專業服務與海外網絡,幫助中小企做好出海前的萬全準備,並精準對接合適的在地夥伴。 帶到海外的不是產品,而是「解決問題的能力」 筆者投入 IT 解決方案領域踏入第 40 個年頭,深刻體會到客戶需要的從來都不是單純的軟件或硬件,而是一整套從需求訪談、系統規劃、部署落地到後續維運的一站式解決方案。 以我們團隊過去推廣 RFID、資產管理及各類智慧化方案的經驗來看,不同地區的應用場景與客戶痛點往往差天共地。因此,真正值得我們「帶出去」的,應是技術背後那套「解決問題的能力」,並因應當地的具體環境與作業習慣進行全面重新調整。 香港 IT 企業要邁向國際,IT […]

【職場心理學】客戶是願意買這件產品的,如何令他選擇跟「你」買?
Advice Columnist

【職場心理學】客戶是願意買這件產品的,如何令他選擇跟「你」買?

每天準時赴約,備好精心設計的計劃書,用最清晰的圖表解釋保障缺口、回報率、通脹風險—— 對很多保險顧問和理財規劃師而言,這是一個再熟悉不過的工作日常。 但有一個問題,很少人會在百忙中停下來認真問自己: 客戶為什麼選擇了你?是因為你的專業知識?還是只因為某一天,你剛好出現在他的生命裡? 曾有學員問我:「YY姑娘,我每次見客都準備充足,計劃書也設計得很詳細——但客戶最後總是說『再考慮一下』,然後就沒有消息了。我到底哪裡出了問題?」 我沒有立即給他答案。我反問了他一個問題:「你上一次見那位客戶,談話的重心,是放在他這個人身上,還是你要介紹的產品上?」 他沉默了一會兒。 這不是一個叫人難堪的問題。這是一個值得誠實面對的問題。 表層熱情,還是真實在場? 社會學家 Arlie Hochschild 在其經典著作中提出「情緒勞動」(Emotional Labour)的概念,將服務業從業員的情感表現分為兩種模式:表層扮演(Surface Acting)——即管理外在表情與行為,令自己「看起來」投入;以及深層扮演(Deep Acting)——真正嘗試調動內在感受,真心在意眼前的人(Hochschild, 1983)。 我有時會在人際溝通實戰班中,請學員回想兩段截然不同的對話經歷:一次是感到「被真心聆聽」,另一次是察覺到「對方只是在演」。幾乎所有人都能毫不猶豫地說出兩者之間的感覺差異——即使他們當時未必能清楚道出哪裡不同。 這個感知能力,你的客戶同樣擁有。 近年神經科學的研究進一步印證了這一點。一項刊登於 Frontiers in Neuroscience 的實地研究,在兩間奢侈品零售店測量了銷售員服務客戶時的神經投入度(Neurological Immersion),發現銷售員的峰值投入度能有效預測客戶的消費金額,且兩者呈線性正相關(Rancati et al., 2025)。換句話說,你有沒有真正在意眼前的人,不只是態度問題,而是大腦信號的問題。客戶的直覺,往往比我們以為的更準確。 每個客戶,都活在自己的世界裡 人本心理學家 Carl Rogers 提出現象學(Phenomenology)的視角:每一個人都活在自己獨特的主觀世界裡,有他自己對安全感、對未來、對風險的詮釋(Rogers, 1961)。 你可以對通脹數據倒背如流,可以把保障缺口計算得精準無誤——但如果你從未真正嘗試進入客戶的主觀世界,了解他真正憂慮的是什麼、他的成長背景如何塑造了他對金錢的態度、他此刻的人生正處於什麼階段——那麼你的每一個建議,對他而言都只是一個外人的猜測。 即使是一份完美的計劃書,也只是一份猜測。 我曾在決策心理學課中分享過一個概念:人們在作出重要決定時,理性分析往往只是最後一步。在那之前,他們已經在問一個更根本的問題——「我信任這個人嗎?」 如果答案是否定的,再精準的數字也難以打動人心。 三個指標,讓你誠實評估自己 以下三點,不是來自銷售訓練手冊,而是來自心理學對真實信任關係的研究定義。不妨對照自己: 客戶在沒有被詢問的情況下,主動分享自己的生活狀況和憂慮;當他們面對重要的財務或人生決定時,你是他們第一個聯絡的人;他們願意把家人或朋友介紹給你——不是因為有好處,而是因為他們信任你這個人。 如果以上三點,你能做到的寥寥無幾,值得誠實問自己的是:你和客戶之間,究竟是真正的顧問關係,還是只是一段買賣關係? 這不是批評。這是一個邀請——邀請你重新思考,你在這份工作中,真正想成為誰。 停下來,問自己兩個問題 你最近一次與客戶見面,談話的重心是放在他這個人身上,還是你要介紹的產品上? 你有多少客戶,在沒有任何利益關係的前提下,仍然願意主動找你說話? 這兩個問題,沒有標準答案。但答案的方向,也許比任何銷售技巧培訓都更值得你花時間思考。 真正長遠的業績,從來不是靠話術建立的。它的根基,是對「人」的深度理解——包括你自己,和你對面的每一位客戶。 參考資料 Hochschild, A. R. (1983). The managed […]

【職場 Hacker】揭開職場破局的秘密——SMI 框架(下)
Advice Columnist

【職場 Hacker】揭開職場破局的秘密——SMI 框架(下)

上週,我們分享了 SMI 框架的第一層:SCAN 層——如何診斷你的職場現狀。 很多讀者完成了 SCAN 評估,找出了自己的職涯轉型原型。但接下來,大家都問了同一個問題:「我知道問題在哪裡了,但我該怎麼做?」 這就是今天要分享的內容:SMI 框架的第二層和第三層——MAKER 層(如何系統化地行動)和 IMPACT 層(如何驗證成效)。 如果說 SCAN 層是「診斷工具」,那麼 MAKER 層就是「行動引擎」,IMPACT 層就是「成效儀表板」。這三層形成了一個完整的閉環系統。 MAKER 層:五個行動維度 MAKER 層包含五個核心維度,每個維度對應一個子框架: M = Map(路線圖)→ PATH 框架 第一個維度是「路線圖」,幫助你創建清晰、可執行的職涯路線圖。 PATH 框架包含四個要素: – P(Purpose,目的):定義你的核心目的和價值觀 – A(Aspiration,志向):設定具體、可衡量的職涯目標 – T(Terrain,地形):評估環境和識別障礙 – H(Horizon,視野):擴展視野與邊界,明確長中期方向 A = Allies(人脈班底)→ WEB 框架 第二個維度是「人脈班底」,幫助你建立策略性的支持網絡。 WEB 框架包含三個要素: – W(Who,誰):識別關鍵利益相關者(燈塔、盟友、倡導者、連結者) – E(Exchange,交換):定義價值交換和互惠 – B(Bridge,橋樑):建立跨越不同社交圈的橋樑 K = Kaizen(持續改善)→ […]

HTTP:互聯網的共同語言 | CPJobs Career Advice