自學日記

學習程式相關知識及學習法

0%

淺談通訊協議:什麼是HTTP、FTP、SSH、SMTP

淺談通訊協議

什麼是HTTP、FTP、SSH、SMTP

什麼是HTTP

稱為超文本傳輸協定(HyperText Transfer Protocol,縮寫HTTP)。

設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。透過HTTP或者HTTPS協定請求的資源由統一資源識別碼(Uniform Resource Identifiers,URI)來標識。-取自維基百科-超文本傳輸協定
我們以google搜尋頁面為例,可以在右鍵檢查頁面中去看到http類型:

(檢查-Network-app..-Headers-scheme)

什麼是 FTP

稱為檔案傳輸協定(File Transfer Protocol,縮寫:FTP)。

是一個用於在電腦網路上在客戶端和伺服器之間進行檔案傳輸的應用層協定。-取自維基百科-檔案傳輸協定

FTP 協定比較特別的地方在於它在使用時必須建立二個連線:一個用來傳輸指令、一個用來傳輸檔案

當我們使用 FTP 軟體連到 FTP 伺服器時,客戶端會先連到伺服器的連接埠 21,並建立一條「控制連線」(Control Stream)。接下來,您會輸入帳號、密碼等指令,這些指令及 FTP 的回應都是使用都是使用「控制連線」。當您要下載檔案時,或者是執行 ls 以列出目錄中的檔案時,檔案或目錄列表的下載是經另一個連線「資料連線」(Data Stream)。「資料連線」和「控制連線」不同的是資料連線所傳輸的資料比較大,而控制連線只是用來傳輸指令及簡單的回應。

基本上,一個完整的 FTP 連線建立過程為:

  • 客戶端打開自已機器大於 1024 的連接埠,並連到伺服器的連接埠 21,建立「控制連線」。
  • 客戶端開始對伺服器下指令,告訴伺服器客戶端用來傳輸檔案的連接埠為何。
  • 伺服器從連接埠 20 連到客戶端所開放的埠號 (大於 1024),以建立「資料連線」。
    -取自於FTP 伺服器

什麼是SSH

稱為安全外殼協定(Secure Shell,縮寫SSH)是一種加密的網路傳輸協定,可在不安全的網路中為網路服務提供安全的傳輸環境。

SSH以非對稱加密實現身分驗證。
身分驗證有多種途徑,例如其中一種方法是使用自動生成的公鑰-私鑰對來簡單地加密網路連接,隨後使用密碼認證進行登錄;另一種方法是人工生成一對公鑰和私鑰,通過生成的金鑰進行認證,這樣就可以在不輸入密碼的情況下登錄。任何人都可以自行生成金鑰。
公鑰需要放在待存取的電腦之中,而對應的私鑰需要由使用者自行保管。認證過程基於生成出來的私鑰,但整個認證過程中私鑰本身不會傳輸到網路中。 -取自維基百科-Secure Shell

什麼是SMTP

稱為簡單郵件傳輸協定(Simple Mail Transfer Protocol,縮寫:SMTP)是一個在網際網路上傳輸電子郵件的標準。

SMTP 屬於即時送信與收信的通訊協定,傳送端與接收端的主機必須開機並連線,傳送端送出信件後,接收端立即收到信件。SMTP 傳輸協定的內容包括:「信封(Envelope)」指明收件人的電子郵件地址。

例如:使用者 @ 郵件伺服器(hightechtw@gmail.com);「表頭(Header)」指明電子郵件的重要訊息,其中「To」指明收件人的電子郵件地址、「From」指明寄件人的電子郵件地址、「Subject」指明電子郵件的主旨、「Date」指明電子郵件的發信日期與時間等;「本文(Body)」就是我們所要傳送的電子郵件的內容。-取自Mail 伺服器是什麼?如何運用?