當前位置:編程學習大全網 - 編程語言 - FTP和HTTP的區別,和各自的用處

FTP和HTTP的區別,和各自的用處

第壹個

什麽是FTP?

FTP是英文File Transfer Protocol的縮寫,意思是文件傳輸協議。它和HTTP壹樣都是Internet上廣泛使用的協議,用來在兩臺計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,壹個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另壹個是數據鏈路,用來上傳或下載數據。

FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。

PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立壹條命令鏈路。當需要傳送數據時,客戶端在命令鏈上用PORT命令告訴服務器:“我打開了XXXX端口,妳過來連接我”。於是服務器從20端口向客戶端的XXXX端口發送連接請求,建立壹條數據鏈路來傳送數據。

PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立壹條命令鏈路。當需要傳送數據時,服務器在命令鏈上用PASV命令告訴客戶端:“我打開了XXXX端口,妳過來連接我”。於是客戶端向服務器的XXXX端口發送連接請求,建立壹條數據鏈路來傳送數據。

從上面可以看出,兩種方式的命令鏈路連接方法是壹樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。第二個 : HTTP是什麽?

當我們想瀏覽壹個網站的時候,只要在瀏覽器的地址欄裏輸入網站的地址就可以了,例如,但是在瀏覽...w.microsoft.com ,妳知道為什麽會多出壹個“/china/inde...K?暮?迦縵攏?/a>

1. /:這是裝有網頁的服務器的域名,或站點服務器的名稱;

4. China/:為該服務器上的子目錄,就好像我們的文件夾;

5. Index.htm:index.htm是文件夾中的壹個HTML文件(網頁)。

我們知道,Internet的基本協議是TCP/IP協議,然而在TCP/IP模型最上層的是應用層(Application layer),它包含所有高層的協議。高層協議有:文件傳輸協議FTP、電子郵件傳輸協議SMTP、域名系統服務DNS、網絡新聞傳輸協議NNTP和HTTP協議等。

HTTP協議(Hypertext Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪壹部分,以及哪部分內容首先顯示(如文本先於圖形)等。這就是妳為什麽在瀏覽器中看到的網頁地址都是以上,HTTP通訊通常發生在TCP/IP連接之上。缺省端口是TCP 80,但其它的端口也是可用的。但這並不預示著HTTP協議在Internet或其它網絡的其它協議之上才能完成。HTTP只預示著壹個可靠的傳輸。

這個過程就好像我們打電話訂貨壹樣,我們可以打電話給商家,告訴他我們需要什麽規格的商品,然後商家再告訴我們什麽商品有貨,什麽商品缺貨。這些,我們是通過電話線用電話聯系(HTTP是通過TCP/IP),當然我們也可以通過傳真,只要商家那邊也有傳真。

以上簡要介紹了HTTP協議的宏觀運作方式,下面介紹壹下HTTP協議的內部操作過程。

在WWW中,“客戶”與“服務器”是壹個相對的概念,只存在於壹個特定的連接期間,即在某個連接中的客戶在另壹個連接中可能作為服務器。基於HTTP協議的客戶/服務器模式的信息交換過程,它分四個過程:建立連接、發送請求信息、發送響應信息、關閉連接。這就好像上面的例子,我們電話訂貨的全過程。

其實簡單說就是任何服務器除了包括HTML文件以外,還有壹個HTTP駐留程序,用於響應用戶請求。妳的瀏覽器是HTTP客戶,向服務器發送請求,當瀏覽器中輸入了壹個開始文件或點擊了壹個超級鏈接時,瀏覽器就向服務器發送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進行必要的操作後回送所要求的文件。在這壹過程中,在網絡上發送和接收的數據已經被分成壹個或多個數據包(packet),每個數據包包括:要傳送的數據;控制信息,即告訴網絡怎樣處理數據包。TCP/IP決定了每個數據包的格式。如果事先不告訴妳,妳可能不會知道信息被分成用於傳輸和再重新組合起來的許多小塊。

也就是說商家除了擁有商品之外,它也有壹個職員在接聽妳的電話,當妳打電話的時候,妳的聲音轉換成各種復雜的數據,通過電話線傳輸到對方的電話機,對方的電話機又把各種復雜的數據轉換成聲音,使得對方商家的職員能夠明白妳的請求。這個過程妳不需要明白聲音是怎麽轉換成復雜的數據的。

第三個 : ipc$ 是什麽?

IPC$(Internet Process Connection)是***享"命名管道"的資源(大家都是這麽說的),它是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應的權限,在遠程管理計算機和查看計算機的***享資源時使用。

利用IPC$,連接者甚至可以與目標主機建立壹個空的連接而無需用戶名與密碼(當然,對方機器必須開了ipc$***享,否則妳是連接不上的),而利用這個空的連接,連接者還可以得到目標主機上的用戶列表(不過負責的管理員會禁止導出用戶列表的)。

我們總在說ipc$漏洞ipc$漏洞,其實,ipc$並不是真正意義上的漏洞,它是為了方便管理員的遠程管理而開放的遠程網絡登陸功能,而且還打開了默認***享,即所有的邏輯盤(c$,d$,e$……)和系統目錄winnt或windows(admin$)。

所有的這些,初衷都是為了方便管理員的管理,但好的初衷並不壹定有好的收效,壹些別有用心者(到底是什麽用心?我也不知道,代詞壹個)會利用IPC$,訪問***享資源,導出用戶列表,並使用壹些字典工具,進行密碼探測,寄希望於獲得更高的權限,從而達到不可告人的目的.

解惑:

1)IPC連接是Windows NT及以上系統中特有的遠程網絡登陸功能,其功能相當於Unix中的Telnet,由於IPC$功能需要用到Windows NT中的很多DLL函數,所以不能在Windows 9.x中運行。

也就是說只有nt/2000/xp才可以建立ipc$連接,98/me是不能建立ipc$連接的(但有些朋友說在98下能建立空的連接,不知道是真是假,不過現在都2003年了,建議98的同誌換壹下系統吧,98不爽的)

2)即使是空連接也不是100%都能建立成功,如果對方關閉了ipc$***享,妳仍然無法建立連接

3)並不是說建立了ipc$連接就可以查看對方的用戶列表,因為管理員可以禁止導出用戶列表.

第四個 : ASP 是什麽?

ASP即Active Server Page的縮寫。它是壹種包含了使用VB Script或Jscript腳本程序代碼的網頁。當瀏覽器瀏覽ASP網頁時, Web服務器就會根據請求生成相應的HTML代碼然後再返回給瀏覽器,這樣瀏覽器端看到的 就是動態生成的網頁。ASP是微軟公司開發的代替CGI腳本程序的壹種應用,它可以與數據庫和其它程序進行交互。是壹種簡單、方便的編程工具。在了解了VBSCRIPT的基本語法後,只需要清楚各個組件的用途、屬性、方法,就可以輕松編寫出自己的ASP系統。ASP的網頁文件的格式是.ASP。

  • 上一篇:超難vb檢測按鈕控件上的文字
  • 下一篇:潮牌工作室名字推薦?
  • copyright 2024編程學習大全網