作者: 姜學(xué)哲(netsail0@163.net)
參考資料:參考大全 HTML(第三版)清華大學(xué)出版社
[美]Thomas A. Powell 著 楊正華 葛菱南 李金波 陳汝祥 譯
圖們江計(jì)算機(jī)程序編制小組(chulsoft.xiloo.com)版權(quán)所有,轉(zhuǎn)載請說明出處。
-----------------------------------------------------------------
突然想起了"帝國時(shí)代"。當(dāng)年第一次玩她的時(shí)候,游戲中壯麗的畫面給我巨大的震撼力。我深深地被她迷住了。我仔細(xì)地觀察游戲中的每一個(gè)細(xì)節(jié)。"星際爭霸"是我后來喜歡上的,之前我把所有的精力都放在了"帝國時(shí)代"上面。在我玩過的所有游戲中"帝國時(shí)代"有著不可替代的地位。那是唯一給過我震撼的游戲。之后我再也沒有過那種感受。我特地從韓國買來了正版的"帝國時(shí)代"。寫這遍文章之前我為了找回當(dāng)年的感覺,又玩了一次"帝國時(shí)代"。話題扯遠(yuǎn)了。
能看懂上面的URL嗎?我想很多人都看不懂,我也是。上面的URL是我在GOOGLE用關(guān)鍵字"cs+flash+十佳"搜索后的結(jié)果。
URL的標(biāo)準(zhǔn)全稱是Uniform resource locator。我的英語水平不行,所以只能查金山詞霸了。Uniform"統(tǒng)一的",resource"資源",locator"定位器"。基本的URL結(jié)構(gòu)如下所示:
協(xié)議://網(wǎng)址/目錄/文件名/
上面的是微軟公司的URL。其中的www是"機(jī)器名"。microsoft是"域名",com該組織的類型。
com----------->商業(yè)實(shí)體或個(gè)人
net----------->網(wǎng)絡(luò)或者網(wǎng)絡(luò)提供商
org----------->非盈利性的組織
edu----------->大學(xué)
gov----------->政府機(jī)構(gòu)
mil----------->軍事機(jī)構(gòu)
美國以外的域有些復(fù)雜。一個(gè)包括國家代碼的FQDN(完全合格的域名)如下:
協(xié)議://機(jī)器名.域名.域類型.國家代碼/
cn代表的是中國,此外,jp代表的是日本,kr代表韓國, ca代表加拿大, mx代表墨西哥。
在Internet上服務(wù)器的真正地址是IP地址,而不是符號地址。IP地址由四個(gè)數(shù)字組成。每個(gè)數(shù)從0到255之間,數(shù)字之間用點(diǎn)號分隔。但是利用符號地址我們可以很方便地訪問Internet服務(wù)器。畢竟一大串?dāng)?shù)字是不利于記憶的。例如
可能對應(yīng)于
在使用URL定位服務(wù)器之前,符號名必須先被解析為IP地址。有專門的服務(wù)商提供這種服務(wù)。稱為域名服務(wù)(DNS:Domain Name Service)。用戶在瀏覽器地址欄輸入的符號地址會(huì)自動(dòng)被DNS服務(wù)器解析為IP地址。
對于網(wǎng)絡(luò)操作而言,域名格式和域名查找服務(wù)是很關(guān)鍵的。如果沒有DNS服務(wù)器,就不可能訪問Web服務(wù)器。想獲得更多關(guān)于機(jī)器名和域名的信息,請?jiān)L問如下網(wǎng)站(如果您的英語水平還可以的話):
http://rs.internic.net/
http://www.iana.org/
http://www.gtld-mou.org/
域名不分大小寫。
協(xié)議是計(jì)算機(jī)所進(jìn)行的結(jié)構(gòu)化的通信,從而提供特定資源的服務(wù)。例如,支持Web的協(xié)議稱為超文本傳輸協(xié)議(http)。當(dāng)用戶點(diǎn)擊Web文檔的一個(gè)超鏈接時(shí),瀏覽器就使用HTTP協(xié)議與Web服務(wù)器建立連接,然后獲得要求的文檔。
HTTP代表Hypertext Transfer Protocol。
除了HTTP,還有其它一些協(xié)議也是很重要的。
File------------------------------------->使得可以通過超鏈接訪問本地文件系統(tǒng)的文件。
文件傳輸協(xié)議(FTP:file transfer protocol)-->使得可以通過超鏈接訪問遠(yuǎn)程系統(tǒng)上的文件。
Gopher----------------------------------->使得可以通過超鏈接訪問Gopher服務(wù)器。
簡單郵件傳輸協(xié)議(SMTP:Simple Message Transfer Protocol)--->Internet上使用的郵件協(xié)議。
郵局協(xié)議(POP:Post Office Protocol)---->用于接收郵件的協(xié)議。
網(wǎng)絡(luò)新聞傳輸協(xié)議(NNTP:Network News Transfer Protocol)----->使得可以通過超鏈接訪問USENET新聞文章。
News------------------------------------->使得可以通過超鏈接訪問USENET新聞組。
telnet----------------------------------->用于遠(yuǎn)程聯(lián)接服務(wù)的標(biāo)準(zhǔn)協(xié)議。
FTP和telnet都是需要進(jìn)行用戶認(rèn)證的協(xié)議。認(rèn)證服務(wù)保證,只能由授權(quán)用戶進(jìn)行訪問。所以該協(xié)議需要以用戶名和密碼作為參數(shù)。用戶名和密碼必須放在服務(wù)器之前,形式為:
ftp://username:password@ftp.downmovie.com
密碼是可先的,可以不在URL中給出,那么形式就變成了:
ftp://username@ftp.downmovie.com
雖然很少見,但是有時(shí)候也需要在URL中指定端口號,每一個(gè)協(xié)議都有一個(gè)默認(rèn)的端口號,例如,HTTP協(xié)議的默認(rèn)端口號是80。服務(wù)器管理員可以重新配置服務(wù)器,使它能夠在非默認(rèn)的端口上處理相應(yīng)協(xié)議的請求。最好不要改變默認(rèn)的端口號,因?yàn)檫@可能使用戶迷惑。
URL無法顯示某些特殊符號,這個(gè)時(shí)候就要使用編碼了。編碼的格式為:一個(gè)百分號,后面跟對應(yīng)字符的ASCII碼值。例如," @ "的編碼值是"%40"。
在一些系統(tǒng)中使用目錄時(shí),有些簡單的記法可用。例如,基于UNIX的網(wǎng)絡(luò)服務(wù)器可能有許多目錄,每一個(gè)目錄都?xì)w特定的用戶所有。這個(gè)時(shí)候并不需要寫出用戶根目錄的完全路徑。用戶目錄可以簡寫為" ~ "(波浪線)。后接用戶帳號,然后是一個(gè)斜杠。后面的目錄和文件名都是相對于用戶主目錄而言的。
HTTP URL也可以訪問并且執(zhí)行服務(wù)器程序。服務(wù)器端的程序通常被稱為公共網(wǎng)關(guān)接口(CGI Common Gateway Interface)程序。它使用了一個(gè)接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)描述了程序如何接收和發(fā)送數(shù)據(jù)。公式如下:
協(xié)議://網(wǎng)址/目錄/文件?參數(shù)
這時(shí)候又回到了文章開始處看見的這個(gè)URL。
在問號前面的search就是文件。
q是第一個(gè)參數(shù),它等于"cs+flash+%E5%8D%81%E4%BD%B3"。
第二個(gè)參數(shù)是ie,即:
&ie=UTF-8
第三個(gè)參數(shù)是oe,
&oe=UTF-8
第五個(gè)參數(shù):
&hl=zh-CN
第六個(gè)參數(shù):
&btnG=Google%E6%90%9C%E7%B4%A2
最后一個(gè)參數(shù):
&lr=
" & "號表示跟在后面的是一個(gè)參數(shù)。現(xiàn)在,大家可以看懂上面的復(fù)雜URL嗎?