🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

DNS是什麼

DNS是一個將像是example.com這樣的名稱轉換成可用於通訊的IP位址的系統。

互聯網通訊最終是根據「要送到哪個IP位址」來進行的。但人類很難記住像203.0.113.10這樣的數字,因此我們使用容易記憶的名稱(域名),而在背後DNS會將其轉換為IP位址。

  • 人類使用: example.com
  • 通訊使用: 203.0.113.10

轉換不是每次都做,會暫時記住(快取)

DNS的轉換如果每次都從零開始查詢會很耗時。因此,通過「暫時記住」一次轉換的結果,讓下次能夠快速獲得相同的IP位址。這就是快取。

可以想像成這樣的流程:

  1. 瀏覽器打開example.com
  2. 如果之前查過的結果還在,就可以立即知道IP位址
  3. 如果沒有,就去詢問DNS伺服器查找

IP位址

IP位址是互聯網上的地址。
在傳送資料時,使用它來指定要送到哪裡。

例如,假設你想把包裹寄給朋友中村。

如果你說「中村的家」在與鄰居的對話中可能可以理解,但如果要透過郵遞送達,必須提供地址以免快遞員迷路。

  • 中村的家(人類容易理解的叫法)
  • 〒123-4567 東京都~~(配送所需的地址)

互聯網也是一樣的:

  • example.com(人類容易理解的名稱)
  • 203.0.113.10(通訊所需的地址)

這之間存在這樣的關係。瀏覽器從易懂的名稱查找地址,最終使用IP位址這個地址將資料送到伺服器。

雖然知道地址,但仍須知道送到哪個房間

雖然知道地址(IP位址),但就像在公寓裡需要房號一樣,我們還需資訊來決定將資料傳遞到同一設備中的哪個應用程式。這就是端口號。

  • IP位址: 建築物的地址
  • 端口號: 房間號碼、接待窗口

因此,通訊通常以IP位址:PORT的組合來決定目的地。

PORT有65536個

0號沒有分配特定用途,通常不使用,因此也可說是65535個

如果將IP位址視為建築的地址,則PORT就像建築裡的接待窗口或房間號碼。

  • IP位址: 要送到哪棟建築(地址)
  • PORT: 要送到建築裡的哪個窗口(負責部門、接待號碼)

在同一棟建築(同一IP位址)裡,裡面正在運行各種服務。

  • 瀏覽網站的窗口
  • 透過SSH登錄的窗口
  • 郵件的窗口
  • DNS的窗口

因此,必須指定「這棟建築的哪個窗口要送達」,這就是PORT。
伺服器可以在一台設備中運行多個服務,但根據PORT來區分連接到哪個服務。

例如當URL中寫著https://example.com時,背後也會確定PORT。
對於HTTPS來說,基本上PORT號是443。

平時無需寫出PORT也可以訪問,並不特別需要去意識。

相對地,在開發中的本地環境中,常見到像是http://localhost:3000的形式,這是因為想要連接到同一台電腦(同一地址)中3000號這個入口的服務。

著名的PORT號是指0到1023,稱為well-known ports。
其中一些常用的代表性PORT號如下所示。

<details><summary>常用的PORT表</summary>

PORT 用途 具體發生的動作範例
20 FTP(數據傳輸) 傳送文件、接收文件(上傳/下載的內容流通)
21 FTP(控制) 登錄、獲取目錄列表、傳輸開始等命令(操作指令流通)
22 SSH 遠程登錄伺服器執行命令、公開金鑰認證、透過SCP/SFTP傳送文件
23 Telnet 通過文字方式遠程連接進行操作(因為沒有加密所以現在基本不使用)
25 SMTP 向伺服器發送郵件、中繼到其他郵件伺服器(發送的配送處理)
53 DNS 查詢從域名到IP地址、查詢郵件用的目的地(MX)等DNS記錄
80 HTTP 獲取網頁、API獲取數據、獲取圖片或CSS/JS(沒有加密)
110 POP3 從郵件伺服器接收郵件,在設定中可能會刪除伺服器上的郵件
443 HTTPS 加密地處理網頁或API,安全地進行登錄或支付等通訊

</details>

總結

  • DNS是一個將人類容易記憶的域名轉換為通訊所需的IP位址的系統
  • IP位址是用來在互聯網上指定通訊目的地的地址識別符
  • 通訊目的地基本上是由目的IP位址 + 目的PORT所特定的
  • PORT總共有0到65535的65536個,HTTPS通常使用443,HTTP則通常使用80

原文出處:https://qiita.com/shibata1111/items/a3e91b89b5ed9b266e91


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝6   💬4   ❤️2
147
🥈
我愛JS
💬1  
6
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付