http和ftp的區(qū)別
http和ftp的區(qū)別
使用Web瀏覽器時,http和ftp這兩個協(xié)議之間的差異幾乎不會對使用的方便性及下載時間產(chǎn)生影響。不過,兩者卻擁有各自不同的結(jié)構(gòu)區(qū)別。下面是學(xué)習(xí)啦小編為大家準(zhǔn)備的http和ftp的區(qū)別,希望大家喜歡!
http和ftp的區(qū)別:字面來看
HTTP是Hyper Text Transfer Protocol,超文本傳輸協(xié)議;
FTP是File Transfer Protocol,文件傳輸協(xié)議;
簡單說HTTP是面向網(wǎng)頁的,而FTP是面向文件的。
http和ftp的區(qū)別:復(fù)雜度
1.FTP
(1)FTP比HTTP復(fù)雜
FTP和HTTP一樣都是Internet上廣泛使用的協(xié)議,用來在兩臺計算機之間互相傳送文件。相比于HTTP,F(xiàn)TP協(xié)議要復(fù)雜得多。復(fù)雜的原因,是因為FTP協(xié)議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與服務(wù)器之間傳遞命令;另一個是數(shù)據(jù)鏈路,用來上傳或下載數(shù)據(jù)。
(2)FTP協(xié)議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時,客戶端在命令鏈上用PORT命令告訴服務(wù)器:“我打開了XXXX端口,你過來連接我”。于是服務(wù)器從20端口向客戶端的XXXX端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。
PASV(被動)方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時,服務(wù)器在命令鏈上用PASV命令告訴客戶端:“我打開了XXXX端口,你過來連接我”。于是客戶端向服務(wù)器的XXXX端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數(shù)據(jù)鏈路的建立方法就完全不同。而FTP的復(fù)雜性就在于此。
2.HTTP
當(dāng)我們想瀏覽一個網(wǎng)站的時候,只要在瀏覽器的地址欄里輸入網(wǎng)站的地址就可以了,例如http://www.microsoft.com,但是在瀏覽...w.microsoft.com ,你知道為什么會多出一個“http”嗎?
(1)HTTP協(xié)議是什么
我們在瀏覽器的地址欄里輸入的網(wǎng)站地址叫做URL (Uniform Resource Locator,統(tǒng)一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網(wǎng)頁也都有一個Internet地址。當(dāng)你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協(xié)議(HTTP),將Web服務(wù)器上站點的網(wǎng)頁代碼提取出來,并翻譯成漂亮的網(wǎng)頁。因此,在我們認(rèn)識HTTP之前,有必要先弄清楚URL的組成,例如:http://www.microsoft.com/china/index.htm。它的含義如下:
1. http://:代表超文本傳輸協(xié)議,通知microsoft.com服務(wù)器顯示W(wǎng)eb頁,通常不用輸入;
2. www:代表一個Web(萬維網(wǎng))服務(wù)器;
3. Microsoft.com/:這是裝有網(wǎng)頁的服務(wù)器的域名,或站點服務(wù)器的名稱;
4. China/:為該服務(wù)器上的子目錄,就好像我們的文件夾;
5. Index.htm:index.htm是文件夾中的一個HTML文件(網(wǎng)頁)。
我們知道,Internet的基本協(xié)議是TCP/IP協(xié)議,然而在TCP/IP模型最上層的是應(yīng)用層(Application layer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FTP、電子郵件傳輸協(xié)議SMTP、域名系統(tǒng)服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP和HTTP協(xié)議等。
HTTP協(xié)議(Hypertext Transfer Protocol,超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁地址都是以http://開頭的原因。
自WWW誕生以來,一個多姿多彩的資訊和虛擬的世界便出現(xiàn)在我們眼前,可是我們怎么能夠更加容易地找到我們需要的資訊呢?當(dāng)決定使用超文本作為WWW文檔的標(biāo)準(zhǔn)格式后,于是在1990年,科學(xué)家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即HTTP協(xié)議。
(2)HTTP是怎樣工作的
由于HTTP協(xié)議是基于請求/響應(yīng)范式的(相當(dāng)于客戶機/服務(wù)器)。一個客戶機與服務(wù)器建立連接后,發(fā)送一個請求給服務(wù)器,請求方式的格式為:統(tǒng)一資源標(biāo)識符(URL)、協(xié)議版本號,后邊是MIME(關(guān)于MIME,看百度百科里是這樣解釋的http://baike.baidu.com/view/160611.htm)信息包括請求修飾符、客戶機信息和可能的內(nèi)容。服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息,其格式為一個狀態(tài)行,包括信息的協(xié)議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務(wù)器信息、實體信息和可能的內(nèi)容。
許多HTTP通訊是由一個用戶代理初始化的并且包括一個申請在源服務(wù)器上資源的請求。最簡單的情況可能是在用戶代理和服務(wù)器之間通過一個單獨的連接來完成。在Internet上,HTTP通訊通常發(fā)生在TCP/IP連接之上。缺省端口是TCP 80,但其它的端口也是可用的。但這并不預(yù)示著HTTP協(xié)議在Internet或其它網(wǎng)絡(luò)的其它協(xié)議之上才能完成。HTTP只預(yù)示著一個可靠的傳輸。
這個過程就好像我們打電話訂貨一樣,我們可以打電話給商家,告訴他我們需要什么規(guī)格的商品,然后商家再告訴我們什么商品有貨,什么商品缺貨。這些,我們是通過電話線用電話聯(lián)系(HTTP是通過TCP/IP),當(dāng)然我們也可以通過傳真,只要商家那邊也有傳真。
以上簡要介紹了HTTP協(xié)議的宏觀運作方式,下面介紹一下HTTP協(xié)議的內(nèi)部操作過程。
在WWW中,“客戶”與“服務(wù)器”是一個相對的概念,只存在于一個特定的連接期間,即在某個連接中的客戶在另一個連接中可能作為服務(wù)器?;贖TTP協(xié)議的客戶/服務(wù)器模式的信息交換過程,它分四個過程:建立連接、發(fā)送請求信息、發(fā)送響應(yīng)信息、關(guān)閉連接。這就好像上面的例子,我們電話訂貨的全過程。
其實簡單說就是任何服務(wù)器除了包括HTML文件以外,還有一個HTTP駐留程序,用于響應(yīng)用戶請求。你的瀏覽器是HTTP客戶,向服務(wù)器發(fā)送請求,當(dāng)瀏覽器中輸入了一個開始文件或點擊了一個超級鏈接時,瀏覽器就向服務(wù)器發(fā)送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進行必要的操作后回送所要求的文件。在這一過程中,在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)已經(jīng)被分成一個或多個數(shù)據(jù)包(packet),每個數(shù)據(jù)包包括:要傳送的數(shù)據(jù);控制信息,即告訴網(wǎng)絡(luò)怎樣處理數(shù)據(jù)包。TCP/IP決定了每個數(shù)據(jù)包的格式。如果事先不告訴你,你可能不會知道信息被分成用于傳輸和再重新組合起來的許多小塊。
也就是說商家除了擁有商品之外,它也有一個職員在接聽你的電話,當(dāng)你打電話的時候,你的聲音轉(zhuǎn)換成各種復(fù)雜的數(shù)據(jù),通過電話線傳輸?shù)綄Ψ降碾娫挋C,對方的電話機又把各種復(fù)雜的數(shù)據(jù)轉(zhuǎn)換成聲音,使得對方商家的職員能夠明白你的請求。這個過程你不需要明白聲音是怎么轉(zhuǎn)換成復(fù)雜的數(shù)據(jù)的。
(3) ipc$ 是什么
IPC$(Internet Process Connection)是共享"命名管道"的資源(大家都是這么說的),它是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應(yīng)的權(quán)限,在遠(yuǎn)程管理計算機和查看計算機的共享資源時使用。
利用IPC$,連接者甚至可以與目標(biāo)主機建立一個空的連接而無需用戶名與密碼(當(dāng)然,對方機器必須開了ipc$共享,否則你是連接不上的),而利用這個空的連接,連接者還可以得到目標(biāo)主機上的用戶列表(不過負(fù)責(zé)的管理員會禁止導(dǎo)出用戶列表的)。
我們總在說ipc$漏洞ipc$漏洞,其實,ipc$并不是真正意義上的漏洞,它是為了方便管理員的遠(yuǎn)程管理而開放的遠(yuǎn)程網(wǎng)絡(luò)登陸功能,而且還打開了默認(rèn)共享,即所有的邏輯盤(c$,d$,e$……)和系統(tǒng)目錄winnt或windows(admin$)。
所有的這些,初衷都是為了方便管理員的管理,但好的初衷并不一定有好的收效,一些別有用心者(到底是什么用心?我也不知道,代詞一個)會利用IPC$,訪問共享資源,導(dǎo)出用戶列表,并使用一些字典工具,進行密碼探測,寄希望于獲得更高的權(quán)限,從而達到不可告人的目的.
解惑:
1)IPC連接是Windows NT及以上系統(tǒng)中特有的遠(yuǎn)程網(wǎng)絡(luò)登陸功能,其功能相當(dāng)于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函數(shù),所以不能在Windows 9.x中運行。
也就是說只有nt/2000/xp才可以建立ipc$連接,98/me是不能建立ipc$連接的(但有些朋友說在98下能建立空的連接,不知道是真是假,不過現(xiàn)在都2003年了,建議98的同志換一下系統(tǒng)吧,98不爽的)
2)即使是空連接也不是100%都能建立成功,如果對方關(guān)閉了ipc$共享,你仍然無法建立連接
3)并不是說建立了ipc$連接就可以查看對方的用戶列表,因為管理員可以禁止導(dǎo)出用戶列表.
(4) ASP 是什么?
ASP即Active Server Page的縮寫。它是一種包含了使用VB Script或Jscript腳本程序代碼的網(wǎng)頁。當(dāng)瀏覽器瀏覽ASP網(wǎng)頁時, Web服務(wù)器就會根據(jù)請求生成相應(yīng)的HTML代碼然后再返回給瀏覽器,這樣瀏覽器端看到的 就是動態(tài)生成的網(wǎng)頁。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進行交互。是一種簡單、方便的編程工具。在了解了VBSCRIPT的基本語法后,只需要清楚各個組件的用途、屬性、方法,就可以輕松編寫出自己的ASP系統(tǒng)。ASP的網(wǎng)頁文件的格式是.ASP。