網址裡的www是什麼?比爾蓋茲、貝佐斯靠它致富,發明它的人卻沒賺一毛錢

2022-03-22 12:40

? 人氣

網址裡的www是什麼?(示意圖/Pixabay;作者/VisionPics)

網址裡的www是什麼?(示意圖/Pixabay;作者/VisionPics)

編按:網址裡的www是World Wide Web的縮寫,意為全球資訊網,是1989年一位英國電腦科學家發明的透過網路存取,由互相連結的超文字組成的資訊系統。www問世後,網際網路飛速發展,微軟、亞馬遜等公司靠著網路服務壯大,成為眾所皆知的科技巨頭,網路也逐漸走入大眾的日常生活。

網際網路上能見度最高的面孔是全球資訊網(World Wide Web),現在經常只被簡稱為「the web」。很多人把網際網路和全球資訊網視為同一個東西,或把它們混用,但這兩者並不等同。如第九章所述,網際網路是一個讓全球各地無數的電腦能夠容易地彼此交換資訊的通訊基礎設施或底層;全球資訊網則是連結提供資訊的電腦(亦即伺服器)和請求資訊的電腦(亦即像你我這樣的用戶),全球資訊網使用網際網路來建立這樣的連結及傳輸資訊,它提供一個存取網際網路上其他服務的介面。

[啟動LINE推播] 每日重大新聞通知

跟許多傑出的概念一樣,全球資訊網的概念基本上是相當簡單的。在已經存在了網際網路這麼一個廣大、有效率、開放、基本上免費的基礎網路之下(這是非常重要的一個前提條件),全球資訊網就只有四個要緊的東西了。

其一是統一資源定位器(Uniform Resource Locator,URL,中文俗稱「網址」),明訂一個資訊源的名稱,例如http://www.amazon.com。

其二是超文本傳輸協定(Hypertext Transfer Protocol,HTTP),上一章提過,它是更高層級協定的一個例子。一個HTTP用戶請求一個特定的URL,伺服器便提供此資訊給該用戶。

其三是超文本標記語言(Hypertext Markup Language,HTML),這是用以描述伺服器應請求而傳送的資訊的格式或表述法(亦即網頁版面配置)的語言。它相當簡單,而且,你只需懂一點點,就能對它做出基本的使用。

其四是瀏覽器(browser),你的電腦跑的Chrome、Firefox、Safari或Edge之類的程式。瀏覽器使用URLs及HTTP,向伺服器提出請求,檢索伺服器應請求而發送的HTML,並在螢幕上顯示它。

全球資訊網誕生於1989年,由英國的電腦科學家提姆.柏納斯—李(Tim Berners-Lee)在位於瑞士日內瓦的物理研究中心CERN工作期間發明的一個系統,當時的目的是要使科學文獻及研究成果更容易在網際網路上被存取。他的設計包括URLs、HTTP及HTML,還有一個用以瀏覽內容的純文本用戶程式(譯註:這就是第一個網頁瀏覽器),CERN的網站上有一個第一版本的模擬:「line-mode.cern.ch/www/hypertext/WWW/TheProject.html」。

這個程式在1990年被使用,我在1992年造訪康乃爾大學時,親眼看到它的操作,我必須尷尬地承認,在當時,我並不覺得它有多神奇,我當然也料想不到,僅僅六個月後,第一部圖形瀏覽器的問世將改變世界。要預見未來,真的不容易啊。

那第一部圖形瀏覽器名為「Mosaic」,是伊利諾大學的學生開發的,在1993年2月發布後快速起飛,僅僅一年,第一部商用瀏覽器——網景領航員(Netscape Navigator)——就問世了。網景領航員是一個早期成功者,微軟公司沒覺察到世人對網際網路的興趣的湧現,但該公司醒悟,很快地推出一項競爭產品「網際網路探索者」(Internet Explorer,IE),成為最廣為使用的瀏覽器,而且市場佔有率大幅壓倒網景領航員。

微軟在個人電腦市場上的宰制地位在幾個領域引發反托拉斯疑慮,美國司法部在1998年起訴微軟,IE是這樁訴訟案中的一部分,因為微軟被控利用其制霸地位,把網景逐出市場。微軟輸了這場官司,被迫改變它的一些商業實務。

現今,Chrome是筆記型電腦、桌上型電腦及手機上最廣為使用的瀏覽器,Safari及Firefox流行程度明顯遜色。微軟在2015年發布一款新的Windows 10瀏覽器,名為「Edge」,取代IE。Edge瀏覽器原本使用微軟自己的程式,但自2019年起,已經改用谷歌為開發Chrome而釋出的開放源碼Chromium。目前,Edge的市場佔有率低於Firefox,IE的市場佔有率更低。

全球資訊網的技術演進由非營利組織全球資訊網協會(World Wide Web Consortium,W3C,w3.org)管理或指引,這個組織的創辦人暨現任主席柏納斯—李完全無意用他的發明來牟利,慷慨地免費提供給任何人,但許多人靠著網際網路和他的發明而變得非常富有。柏納斯—李在2004年獲封為爵士,並於2016年獲頒圖靈獎。

延伸閱讀:手機又沒有細胞,為何英文叫cell phone?秘密其實在基地台

全球資訊網如何運作

接下來,我們更仔細檢視全球資訊網的技術元件與機制,先談URLs及HTTP。

想像你用你喜愛的瀏覽器瀏覽一個簡單網頁,這網頁上的一些文字可能是畫上底線的藍色字體,你點擊這文字,目前這頁面就會被那藍色字連結的一個新頁面取代。以這種方式連結網頁,稱為「超文本」(hypertext)連結,這是一個舊概念,但瀏覽器使它成為每個人的體驗。

設若這畫底線藍色鏈結字是「W3C home page」,當你把滑鼠移到那鏈結上時,你的瀏覽器視窗下方的狀態欄(status bar)可能會顯示這個鏈結指向的URL,類似這樣:「http://w3.org」,或許在這網域名稱後面還有一些別的資訊。

當你點擊這鏈結時,瀏覽器開啟一個TCP/IP連結至網域「w3.org」的連接埠80,並傳送一個HTTP請求,請求提供URL中後面部分指出的資訊,例如,這鏈結是「http://w3.org/index.html」,這請求就是請提供「index.html」檔案。

收到這請求時,w3.org的伺服器決定該做什麼。若請求的是該伺服器上的一個既有檔案,伺服器就會傳回該檔案,用戶(你)的瀏覽器把這檔案顯示出來。伺服器回傳的文本幾乎都是HTML形式,它內含實際內容,以及有關於如何把此實際內容格式化或顯示出來的資訊。

實務上,可能就這麼簡單,但通常更複雜。協定允許瀏覽器在發送用戶請求時多加幾行資訊,來自伺服器的回覆通常會多加幾行資訊,指出傳送了多少資料,以及是什麼資料。

URL本身就是資訊的編碼。第一個部分是「http」,這指出使用的協定(有幾個可能的資訊可看出使用什麼協定)。http是最常見的,但你也會看到其他的,包括「file」,指的是來自本機(而非來自網頁)的資訊。此外,現在也愈來愈常見到「https」,這是http的安全(加密)版本,我們稍後會談到這個。

在「://」之後是網域名稱,這指出了伺服器。網域名稱後面可能是一個「/」及一串字符,這字符串被原原本本地傳送給伺服器,由伺服器決定要怎麼做。最簡單的情況是,網域名稱後面啥也沒有,連「/」也沒有,伺服器就會傳回一個預設網頁,例如「index.html」。若URL中內含一個檔案名稱,伺服器就會傳送這檔案的內容。若一個檔案名稱的最初部分後面來了一個問號「?」,這通常意味的是伺服器應該去跑一個程式(這程式的名稱就是這問號前面那些字符),並且把其餘部分的字符串傳給這程式處理。這是來自一網頁上的資訊被處理的方式之一,例如,一個Bing搜尋:

http://www.bing.com/search?q=funny+cat+pictures

這個URL就是要求Bing的伺服器去執行「search」(搜尋)程式,搜尋「funny cat pictures」(有趣的貓相片)。你可以在你的瀏覽器最上方的位址欄輸入這些,看看會得出什麼。

網域名稱後的字符串是用規定的字元集撰寫,但空白和多數非字母數字字符被排除,因此,必須對這些被排除的進行編碼。一個加號「+」代表一個空白的編碼,其他被排除的字符就編碼成一個「%」加上兩個十六進數,例如,URL的一個片段「5%2710%22%2D6%273%22」代表「5’10”–6’3”」,因為十六進數27代表一個單引號,十六進數22代表一個雙引號,十六進數2D代表一個減號「–」。

超文本標記語言(HTML)

伺服器的回應通常使用超文本標記語言(HTML),它結合了內容及格式化資訊。HTML非常簡單,簡單到很容易使用你喜愛的文本編輯器(text editor)去製作網頁(若你使用Microsoft Word之類的文書處理,你必須把網頁儲存為純文字,而非預設的格式,並且加上一個詞尾「.html」)。HTML使用標籤(tags)來給予格式化資訊,標籤敘述內容,標記網頁區域的開頭與結束。

一個迷你網頁的HTML看起來可能如<圖表10-1>所示,一瀏覽器把它顯示成如<圖表10-2>。

<圖10-1>:HTML基本格式(圖/商業周刊-《普林斯頓最熱門的電腦通識課》)
圖表10-1:一個簡單網頁的HTML(圖/商業周刊-《普林斯頓最熱門的電腦通識課》)

 

<圖10-2>:根據<圖10-1>code,瀏覽器顯示出的網頁(圖/商業周刊-《普林斯頓最熱門的電腦通識課》)
圖表10-2:瀏覽器顯示來自<圖表10-1>的HTML(圖/商業周刊-《普林斯頓最熱門的電腦通識課》)

<圖表10-2>中的維基百科標誌圖的圖檔留在原始圖檔,但它也可以留在全球資訊網上的任何地方。若無法存取到<img>這個圖像標籤裡的檔案名稱,瀏覽器將在這個標誌圖的位置顯示某個「錯誤的」圖像;對於這問題,可以使用一個方法來處理:「alt」是HTML的一個屬性,alt屬性指的是,在圖像無法顯示的情況下,就顯示代替文字。於是,<圖表10-1>中的「alt=」意指若無法存取到<img>這個圖像標籤裡的檔案名稱,瀏覽器將在這個標誌圖的位置顯示「Wikipedia Logo」文字。對於視聽障礙者的人,有一些網頁技巧可幫助他們,「alt=」是一個例子(譯註:幫助視障者的螢幕閱讀軟體可以閱讀「alt=」後面的那些文字,這樣,他們就知道頁面那個位置呈現的是維基百科的標誌)。

有些標籤的內容是自我獨立且完整的(self-contained),例如<圖表10-1>中的<img>;有些標籤有一個開頭和一個結束的標記,例如<圖表10-1>中的<body>和</body>。其他標籤如<p>在實務中不需要一個結束的標籤,但一個嚴謹的定義就需要一個結束的標籤</p>,我們在<圖表10-1>中使用到了。縮排及分行不是必要,但會使文本更易讀。

多數HTML文件也內含使用另一種名為「階層樣式表」(Cascading Style Sheets,CSS)的語言撰寫的資訊,使用CSS,可以定義樣式屬性,例如在一處定義標題格式,然後讓這格式應用於所有標題。以<圖表10-1>為例,我們把使用以下這個CSS,讓h2和h3標題都以紅色斜體字呈現:

CSS(圖/商業周刊-《普林斯頓最熱門的電腦通識課》)
CSS(圖/商業周刊-《普林斯頓最熱門的電腦通識課》)

HTML和CSS都是語言,但不是程式語言。它們有規範的文法及語義,但沒有迴圈及條件述句,因此,你無法用它們來表述一個演算法。

這一節只展示足以消除網頁如何運作的神秘性的內容,想製作出你在商業網站上看到的那種精美網頁,需要相當的技巧,但基本的東西非常簡單,只需花幾分鐘研究,就能製作出像樣的網頁了。學習十幾個標籤,你就能看出多數純文字網頁是如何製作的,再多學十幾個標籤,就足以應付一個隨性的網頁設計者可能關心的東西。人工製作網頁滿容易的,文書處理軟體有一個「創造HTML」的選項,也有專門製作專業水準級網頁的程式,若你打算做嚴肅的網頁設計,你將需要這類工具,但了解基本概念及原理,總是有幫助。

HTML的原始設計只處理純文字,讓瀏覽器顯示,但過沒多久,瀏覽器就有能力顯示圖像了,包括標誌之類的簡單插圖、GIF格式的微笑面孔,以及JPEG格式的相片。網頁提供可填寫的表單、可點擊的按鈕、彈出或取代目前視窗的新視窗;過沒多久,瀏覽器也能呈現聲音、動畫及電影了,大致上是在有足夠的頻寬可快速下載它們、並且有足夠的處理能力去顯示它們後,瀏覽器就立即增添了這能力。

還有一種名為「通用閘道器介面」(Common Gateway Interface,CGI,這名稱取得一點也不直觀)的簡單機制,把資訊——例如一個名稱及密碼,或一個搜尋查詢,或選項按鈕及下拉選單的選擇——從用戶端(你的瀏覽器)傳送至一台伺服器。這種機制由HTML的「表單」(form)標籤<form>...及</form>提供,在一個<form>裡,你可以包含常見的用戶介面元素,例如文字輸入區、按鈕、勾選方塊等等。若<form>裡有一個「提交/送出」(submit)按鈕,按下它,就會把表單中的資料傳送給伺服器,同時傳送的還有一個請求——請求使用這些表單資料來執行某個程式。

表單有限制:它們只支援幾種介面元素;表單資料無法被驗證,除非是撰寫JavaScript程式或傳送至伺服器處理。表單中有一個密碼輸入欄位,你會看見你輸入的密碼字符被星號(*)取代,但這其實並不提供資安,因為密碼在未加密之下被傳輸及儲存。儘管如此,表單是全球資訊網中的一個重要部分。

作者介紹|布萊恩.柯尼罕

加拿大籍世界頂尖電腦科學家,普林斯頓大學電腦科學系教授,曾服務於貝爾實驗室,參與UNIX系統的早期開發,UNIX這個名稱也是他首先提出的。柯尼罕也是數學程式語言AMPL以及編程及資料操作語言AWK的共同創造者,他和C程式語言創造者丹尼斯.里奇(Dennis MacAlistair Ritchie)合著了第一本有關於C程式語言的著作《C程式設計語言》(The C Programming Language),也協助開發過許多程式語言及軟體工具。

柯尼罕擁有多倫多大學工程物理學學士學位,以及普林斯頓大學電機工程博士學位,並從2000年任教該校電腦科學系暨大學部系主任至今,他每年秋季為非電腦科學主修學生開設的「我們的世界裡的電腦」(Computers in Our World)課程被譽為普林斯頓大學最熱門的電腦與數位世界入門課。因為對電腦軟體及程式語言的卓著貢獻,他在2002年獲選為美國國家工程學院(National Academy of Engineering)院士,2019年獲選為美國人文與科學學院(American Academy of Arts and Sciences)院士。


本文經授權轉載自商業周刊《普林斯頓最熱門的電腦通識課:數位時代人人必懂的資訊基礎 × 最新應用》

責任編輯/郭家宏

關鍵字:
風傳媒歡迎各界分享發聲,來稿請寄至 opinion@storm.mg

本週最多人贊助文章