入門知識(shí):網(wǎng)站地址前的http是什么意思?
2024-04-25 20:18:29
供稿:網(wǎng)友
http是什么?
當(dāng)我們想瀏覽一個(gè)網(wǎng)站的時(shí)候,只要在瀏覽器的地址欄里輸入網(wǎng)站的地址就可以了,例如m.survivalescaperooms.com,但是在瀏覽器的地址欄里面出現(xiàn)的卻是:http://m.survivalescaperooms.com ,你知道為什么會(huì)多出一個(gè)“http”嗎?
一、http協(xié)議是什么
我們?cè)跒g覽器的地址欄里輸入的網(wǎng)站地址叫做url (uniform resource locator,統(tǒng)一資源定位符)。就像每家每戶都有一個(gè)門牌地址一樣,每個(gè)網(wǎng)頁也都有一個(gè)internet地址。當(dāng)你在瀏覽器的地址框中輸入一個(gè)url或是單擊一個(gè)超級(jí)鏈接時(shí),url就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協(xié)議(http),將web服務(wù)器上站點(diǎn)的網(wǎng)頁代碼提取出來,并翻譯成漂亮的網(wǎng)頁。因此,在我們認(rèn)識(shí)http之前,有必要先弄清楚url的組成,例如:http://m.survivalescaperooms.com。它的含義如下:
1. http://:代表超文本傳輸協(xié)議,通知microsoft.com服務(wù)器顯示web頁,通常不用輸入;
2. www:代表一個(gè)web(萬維網(wǎng))服務(wù)器;
3. microsoft.com/:這是裝有網(wǎng)頁的服務(wù)器的域名,或站點(diǎn)服務(wù)器的名稱;
4. china/:為該服務(wù)器上的子目錄,就好像我們的文件夾;
5. index.htm:index.htm是文件夾中的一個(gè)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ò)傳輸減少。它不僅保證計(jì)算機(jī)正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁地址都是以http://開頭的原因。
自www誕生以來,一個(gè)多姿多彩的資訊和虛擬的世界便出現(xiàn)在我們眼前,可是我們?cè)趺茨軌蚋尤菀椎卣业轿覀冃枰馁Y訊呢?當(dāng)決定使用超文本作為www文檔的標(biāo)準(zhǔn)格式后,于是在1990年,科學(xué)家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即http協(xié)議。經(jīng)過幾年的使用與發(fā)展,得到不斷的完善和擴(kuò)展,目前在www中使用的是http/1.0的第六版。
http是怎樣工作的
既然我們明白了url的構(gòu)成,那么http是怎么工作呢?我們接下來就要討論這個(gè)問題。
由于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信息包括請(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)求。最簡單的情況可能是在用戶代理和服務(wù)器之間通過一個(gè)單獨(dú)的連接來完成。在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)然我們也可以通過傳真,只要商家那邊也有傳真。
以上簡要介紹了http協(xié)議的宏觀運(yùn)作方式,下面介紹一下http協(xié)議的內(nèi)部操作過程。
在www中,“客戶”與“服務(wù)器”是一個(gè)相對(duì)的概念,只存在于一個(gè)特定的連接期間,即在某個(gè)連接中的客戶在另一個(gè)連接中可能作為服務(wù)器。基于http協(xié)議的客戶/服務(wù)器模式的信息交換過程,它分四個(gè)過程:建立連接、發(fā)送請(qǐng)求信息、發(fā)送響應(yīng)信息、關(guān)閉連接。這就好像上面的例子,我們電話訂貨的全過程。
其實(shí)簡單說就是任何服務(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ì)知道信息被分成用于傳輸和再重新組合起來的許多小塊。
也就是說商家除了擁有商品之外,它也有一個(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ù)的。