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