FTP和HTTP

1、字面上來看

HTTP是Hyper Text Transfer Protocol,超文本傳輸協議;數據庫

FTP是File Transfer Protocol,文件傳輸協議;編程

簡單說HTTP是面向網頁的,而FTP是面向文件的。windows

2、複雜點兒

1.FTP

(1)FTP比HTTP複雜

FTP和HTTP同樣都是Internet上普遍使用的協議,用來在兩臺計算機之間互相傳送文件。相比於HTTP,FTP協議要複雜得多。複雜的緣由,是由於FTP協議要用到兩個TCP鏈接,一個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另外一個是數據鏈路,用來上傳或下載數據。瀏覽器

(2)FTP協議有兩種工做方式:PORT方式和PASV方式,中文意思爲主動式和被動式。

PORT(主動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。當須要傳送數據時,客戶端在命令鏈上用PORT命令告訴服務器:「我打開了XXXX端口,你過來鏈接我」。因而服務器從20端口向客戶端的XXXX端口發送鏈接請求,創建一條數據鏈路來傳送數據。

PASV(被動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。當須要傳送數據時,服務器在命令鏈上用PASV命令告訴客戶端:「我打開了XXXX端口,你過來鏈接我」。因而客戶端向服務器的XXXX端口發送鏈接請求,創建一條數據鏈路來傳送數據。

安全

從上面能夠看出,兩種方式的命令鏈路鏈接方法是同樣的,而數據鏈路的創建方法就徹底不一樣。而FTP的複雜性就在於此。服務器

2.HTTP

當咱們想瀏覽一個網站的時候,只要在瀏覽器的地址欄裏輸入網站的地址就能夠了,例如http://www.microsoft.com,可是在瀏覽...w.microsoft.com ,你知道爲何會多出一個「http」嗎?網絡

(1)HTTP協議是什麼

咱們在瀏覽器的地址欄裏輸入的網站地址叫作URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址同樣,每一個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級連接時,URL就肯定了要瀏覽的地址。瀏覽器經過超文本傳輸協議(HTTP),將Web服務器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。所以,在咱們認識HTTP以前,有必要先弄清楚URL的組成,例如:http://www.microsoft.com/china/index.htm。它的含義以下:
1. http://:表明超文本傳輸協議,通知microsoft.com服務器顯示Web頁,一般不用輸入;
2. www:表明一個Web(萬維網)服務器;
3. Microsoft.com/:這是裝有網頁的服務器的域名,或站點服務器的名稱;
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://開頭的緣由。
自WWW誕生以來,一個多姿多彩的資訊和虛擬的世界便出如今咱們眼前,但是咱們怎麼可以更加容易地找到咱們須要的資訊呢?當決定使用超文本做爲WWW文檔的標準格式後,因而在1990年,科學家們當即制定了可以快速查找這些超文本文檔的協議,即HTTP協議。網站

(2)HTTP是怎樣工做的

因爲HTTP協議是基於請求/響應範式的(至關於客戶機/服務器)。一個客戶機與服務器創建鏈接後,發送一個請求給服務器,請求方式的格式爲:統一資源標識符(URL)、協議版本號,後邊是MIME(關於MIME,看百度百科裏是這樣解釋的http://baike.baidu.com/view/160611.htm)信息包括請求修飾符、客戶機信息和可能的內容。服務器接到請求後,給予相應的響應信息,其格式爲一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,後邊是MIME信息包括服務器信息、實體信息和可能的內容。
許多HTTP通信是由一個用戶代理初始化的而且包括一個申請在源服務器上資源的請求。最簡單的狀況多是在用戶代理和服務器之間經過一個單獨的鏈接來完成。在Internet上,HTTP通信一般發生在TCP/IP鏈接之上。缺省端口是TCP 80,但其它的端口也是可用的。但這並不預示着HTTP協議在Internet或其它網絡的其它協議之上才能完成。HTTP只預示着一個可靠的傳輸。
這個過程就好像咱們打電話定貨同樣,咱們能夠打電話給商家,告訴他咱們須要什麼規格的商品,而後商家再告訴咱們什麼商品有貨,什麼商品缺貨。這些,咱們是經過電話線用電話聯繫(HTTP是經過TCP/IP),固然咱們也能夠經過傳真,只要商家那邊也有傳真。

 

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

 

在WWW中,「客戶」與「服務器」是一個相對的概念,只存在於一個特定的鏈接期間,即在某個鏈接中的客戶在另外一個鏈接中可能做爲服務器。基於HTTP協議的客戶/服務器模式的信息交換過程,它分四個過程:創建鏈接、發送請求信息、發送響應信息、關閉鏈接。這就好像上面的例子,咱們電話定貨的全過程。

其實簡單說就是任何服務器除了包括HTML文件之外,還有一個HTTP駐留程序,用於響應用戶請求。你的瀏覽器是HTTP客戶,向服務器發送請求,當瀏覽器中輸入了一個開始文件或點擊了一個超級連接時,瀏覽器就向服務器發送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進行必要的操做後回送所要求的文件。在這一過程當中,在網絡上發送和接收的數據已經被分紅一個或多個數據包(packet),每一個數據包包括:要傳送的數據;控制信息,即告訴網絡怎樣處理數據包。TCP/IP決定了每一個數據包的格式。若是事先不告訴你,你可能不會知道信息被分紅用於傳輸和再從新組合起來的許多小塊。
也就是說商家除了擁有商品以外,它也有一個職員在接聽你的電話,當你打電話的時候,你的聲音轉換成各類複雜的數據,經過電話線傳輸到對方的電話機,對方的電話機又把各類複雜的數據轉換成聲音,使得對方商家的職員可以明白你的請求。這個過程你不須要明白聲音是怎麼轉換成複雜的數據的。

(3) 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$鏈接就能夠查看對方的用戶列表,由於管理員能夠禁止導出用戶列表.

(4) ASP 是什麼?

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

 

 

 

1、概念

  • HTTP,即超文本傳輸協議,是 HyperText Transfer Protocol的縮寫。瀏覽網頁時在瀏覽器地址欄中輸入的URL前面都是以"http://"開始的。HTTP定義了信息如何被格式化、如何被傳輸,以及在各類命令下服務器和瀏覽器所採起的響應。

  • HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,所以加密的詳細內容就須要SSL。

它是一個URI scheme(抽象標識符體系),句法類同http:體系。用於安全的HTTP數據傳輸。https:URL代表它使用了HTTP,但HTTPS存在不一樣於HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通信方法,如今它被普遍用於萬維網上安全敏感的通信,例如交易支付方面。

  • FTP則是File Transfer  Protocol文件傳輸協議。

  • TCP是傳輸協議,HTTP是應用協議。

 

2、使用端口號不同

HTTP:80

HTTPS:443

FTP:21

TCP:不少端口,做用都不同。

 

3、做用與描述

    • 簡單說HTTP是面向網頁的,而FTP是面向文件的

    • 要從FTP上下載東西,你須要的是支持FTP協議的客戶端,其實IE就是一個,可是有更好的工具可供選擇,好比CuteFTP或者FlashFXP都是不錯的工具。

    • HTTP的鏈接很簡單,是無狀態的。

    • HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比HTTP協議安。

    • HTTP承載在TCP之上。打個比喻,網絡是路,TCP是跑在路上的車,HTTP是車上的人。每一個網站內容不同,就像車上的每一個人有不一樣的故事同樣。

相關文章
相關標籤/搜索