Web探索之旅 | 第三部分第三課:協議

>作者 謝恩銘,公衆號「程序員聯盟」(微信號:coderhub)。 轉載請註明出處。 原文:https://www.jianshu.com/p/a3069dd0a016


>《Web探索之旅》全系列

內容簡介


  1. 前言
  2. TCP 和 UDP 協議
  3. HTTP,HTTPS,FTP 和 SMTP
  4. 總結
  5. 第四部分預告

1. 前言


之前的課 Web探索之旅 | 第三部分第二課:IP地址和域名 中,我們學習了 Client-Server 模型的客戶端語言和服務器語言。

客戶端語言有 HTML,CSS 和 JavaScript。

服務器語言有 PHP,Java,Python,Ruby,C#,還有新興的 Go 語言(Google 推出的很強大的編程語言)。

不過,要使得 Web 中這麼多機器之間能夠相互通信,例如客戶機 A 對服務器 E 說:“你好,請發送 baidu.com 這個網頁給我”,是不能借助客戶端或服務器語言的。這些語言只能爲我們的網頁服務。

那 Web 中的各個機器之間如何對話呢?

打個比方,電腦 A 對電腦 B 說:“您叫什麼名字?”(電腦 A 說中文)。電腦 B 回答:“I beg your pardon?”(電腦 B 說英語,這句話的意思是“您說什麼?”),那麼這兩臺電腦因爲語言不通,將會無法交流。

同樣的,Web 中的各個機器,需要講同一種語言,才能相互交流。

因此,IT 科學家們發明了稱爲“協議”(Protocol)的通信規範。Web 中的機器只要遵循同樣協議,就可以相互交流。

協議有好多種,我們不一一列舉了。我們只說說常用的一些協議,見下圖:

2. TCP 和 UDP 協議


TCP/IP 協議可以說是 Web 領域最重要的底層協議了。

TCP 協議

TCP 是 Transmission Control Protocol(傳輸控制協議)的簡稱。

TCP 是一個端到端(Peer-to-Peer)的傳輸層協議,處於應用層和網絡層之間。在數據傳輸之前,由 TCP 模塊在運行於不同主機上的兩個應用程序之間建立直接連接,通常稱爲虛擬連接,其後的 TCP 報文在此連接的基礎上進行傳輸。TCP 協議在 IP 協議提供的服務基礎上,提供面向連接的、可靠的、全雙工的數據流傳輸服務。所以合稱 TCP/IP 協議。

IP 協議(Internet Protocol,互聯網協議或網際協議)是 TCP/IP 的心臟,也是網絡層中最重要的協議。 IP 層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,並把該數據包發送到更高層 -- TCP 或 UDP 層;相反,IP 層也把從 TCP 或 UDP 層接收來的數據包傳送到更低層。

Vint Cerf,被稱爲“互聯網之父”,譯作 溫特·瑟夫。主要貢獻:與 Robert Kahn 一道領導 TCP/IP 協議的研發小組,爲 ARPANET 成功開發了主機協議, 使 ARPANET 成爲第一個大規模的數據包網絡。

UDP 協議


UDP 是 User Datagram Protocol(用戶數據報協議)的簡稱。是 OSI 參考模型中一種無連接的傳輸層協議,它主要用於不要求分組順序到達的傳輸中,分組傳輸順序的檢查與排序由應用層完成,提供面向事務的簡單不可靠信息傳送服務。

3. HTTP,HTTPS,FTP 和 SMTP


HTTP

HTTP 是 HyperText Transfer Protocol(超文本傳輸協議)的縮寫,所有的 WWW 文件都必須遵守這個標準。設計 HTTP 最初的目的是爲了提供一種發佈和接收 HTML 頁面的方法。我們一般瀏覽網頁,看到的網頁地址都是 http:// 這樣開頭的,後面接域名。例如:http://www.google.com

看一個例子,是正常情況下 HTTP 的交換信息(返回碼 200 表示成功):

HTTPS


HyperText Transfer Protocol Secure(安全的超文本傳輸協議)的縮寫,比 HTTP 多加了一層安全防護。我們有時登錄一些網站,就可以看到地址欄最前面變爲了 https:// 這樣開頭的的。HTTPS 協議在 HTTP 協議的基礎上,添加了 SSL/TLS 握手以及數據加密傳輸,也屬於應用層協議。

FTP


File Transfer Protocol(文件傳輸協議)的縮寫。是一套允許文件在不同的Internet計算機之間進行交換的規則。它與 HTTP 不同,後者供網頁瀏覽器請求網頁和相關文件以顯示某一頁面,FTP 只是用來將文件從一臺計算機傳送到另一臺。網站開發人員通常使用 FTP 將網頁從他們自己的計算機傳送到服務器,FTP 也常常用來將程序和文件從其他服務器下載到個人計算機。

SMTP


Simple Mail Transfer Protocol(簡單郵件傳輸協議)的縮寫。是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。SMTP 協議屬於 TCP/IP 協議簇,它幫助每臺計算機在發送或中轉信件時找到下一個目的地。

4. 總結


各種協議(Protocol)規定了 Web 中的各臺機器如何通信。

5. 第四部分預告


今天的課就到這裏,一起加油吧!

下一課:Web探索之旅 | 第四部分 : Web程序員


>我是 謝恩銘,公衆號「程序員聯盟」(微信號:coderhub)運營者,慕課網精英講師 Oscar 老師,終生學習者。 熱愛生活,喜歡游泳,略懂烹飪。 人生格言:「向着標杆直跑」

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章