国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

HTTP權(quán)威指南:第二章

pf_miles / 2869人閱讀

摘要:無方案方案是規(guī)定如何訪問指定資源的主要標(biāo)識符。比如指定文檔中的某個(gè)章節(jié)。編碼機(jī)制通過轉(zhuǎn)義表示法,表示不安全字符。表示一臺指定主機(jī)上可以直接訪問的文件,省略主機(jī)名則默認(rèn)為本機(jī)由定義,訪問特定的文章或者新聞組。

URL概覽

前面提到,URL資源是HTTP協(xié)議所使用的尋找資源位置的定位符。分為三個(gè)部分,主要的結(jié)構(gòu)是:

方案://服務(wù)器/路徑

這種結(jié)構(gòu)使得網(wǎng)絡(luò)上的每一個(gè)資源都只有唯一的命名方法,從而使得瀏覽器可以統(tǒng)一對不同的資源進(jìn)行處理,而不是依賴不同的軟件。
URL可以從以下幾個(gè)部分去了解:

語法

快捷方式

特殊字符

方案

最后,我們還會展望未來,看看URN——URL的下一代。


一、語法

URL語法是跟對方案而變化的,但是這些變化總是建立在URL語法的9個(gè)組件組成的通用格式之上的。這個(gè)通用格式是:

://:@:/;?#

這9個(gè)組件不需要全部包含,其中重要的三個(gè)部分是之間提到的:方案、主機(jī)路徑。其可總結(jié)如下:

方案 描述 默認(rèn)值
方案 使用的協(xié)議
用戶 某些方案訪問資源時(shí)要求的用戶名 匿名
密碼 在用戶名之后,中間以冒號:隔開
主機(jī) 服務(wù)器的主機(jī)名或者點(diǎn)分IP地址(如192.168.1.1)
端口 服務(wù)器監(jiān)聽的端口,HTTP默認(rèn)端口為80 方案特有
路徑 服務(wù)器的資源本地名,路徑組件語法和服務(wù)器、方案相關(guān)
參數(shù) 使用該組件指定輸入?yún)?shù)。參數(shù)為名/值對,用分號隔開
查詢 用于激活應(yīng)用程序,沒有通用格式
片段 部分資源名稱,引用時(shí)不會傳遞給服務(wù)器,只使用于客戶端內(nèi)部。

方案
方案是規(guī)定如何訪問指定資源的主要標(biāo)識符。要求以字母開始,用:隔開URL其余部分,且大小寫無關(guān)。

主機(jī)和端口
主機(jī)標(biāo)志能訪問資源的服務(wù)器。主機(jī)可以使用主機(jī)名或者IP地址來訪問;端口則標(biāo)識服務(wù)器監(jiān)聽的網(wǎng)絡(luò)端口,默認(rèn)為80。

用戶名和密碼
多用在FTP服務(wù)器上。如果URL方案要求提供用戶名和密碼,而用戶沒有輸入,則應(yīng)用程序會插入一個(gè)默認(rèn)的用戶名和密碼,隨瀏覽器而定

路徑
其說明資源在服務(wù)器中的位置,是服務(wù)器定位資源時(shí)需要的信息,用/將路徑劃分為路徑段(path segment),路徑段還有各自的參數(shù)組件。

參數(shù)
服務(wù)器需要更多的信息,而不是簡單的主機(jī)名和路徑,而URL中的參數(shù)組件可以提供更多的協(xié)議參數(shù)。該組件是名值對列表,每個(gè)路徑段可以有多個(gè)參數(shù),形式類似:

http://www.baidu.com/pub/gnu;type=sb【并不存在,請勿當(dāng)真】

這里的路徑段gnu參數(shù)為type,值為sb。

查詢字符串
用于縮小請求資源類型范圍。如本專欄撰寫時(shí),網(wǎng)址為:

http://segmentfault.com/write?freshman=1

其中的freshman=1就是查詢組件。我猜測,這個(gè)查詢組件的意思是:在服務(wù)器的write路徑中,是否一直保存著我的文章的草稿。查詢組件會發(fā)送給網(wǎng)關(guān),由網(wǎng)關(guān)做進(jìn)一步處理。如果需要多個(gè)名值對,則使用&字符進(jìn)行分割。

片段
HTML資源除了資源級,還可以進(jìn)一步劃分。比如指定文檔中的某個(gè)章節(jié)。而這個(gè)就可以使用#實(shí)現(xiàn)了。以本專欄的第一篇文章為例,旁邊的文章目錄實(shí)際上是在點(diǎn)擊以后,為網(wǎng)址加上一個(gè)片段,如#articleHeader6實(shí)現(xiàn)的跳轉(zhuǎn)。這樣,瀏覽器可以在獲得整個(gè)資源以后,顯示你感興趣的部分。


二、快捷方式

這個(gè)快捷方式是針對客戶端的,可以分為相對URL和URL自動(dòng)拓展。

相對URL

前面提到的都是絕對URL,包含訪問資源所需要的全部信息。而相對URL則是不完整的,必須相對另一個(gè)作為基礎(chǔ)(base)的URL進(jìn)行解析。這種便捷的縮略法為寫網(wǎng)頁的人省了不少心。如下面的HTML代碼片段:

    

其中的問答、文章等超鏈接都是http://segmentfault.com/a/1190000004341687#articleHeader6為基礎(chǔ)URL,從而推導(dǎo)出方案和主機(jī)名。
所以,相對URL優(yōu)勢有二:

可以保持HTML文檔的可讀性和書寫便捷。

可以保持網(wǎng)頁上一組資源的便攜性。、
比如,可以在搬移一組文檔時(shí),保持鏈接的有效性。這樣,就可以方便的搭載鏡像服務(wù)器了。

使用相對URL的步驟有二:一是找出基礎(chǔ)URL;二是解析相對引用。

找出基礎(chǔ)URL
基礎(chǔ)URL來源有二:一是網(wǎng)頁顯式指定,如在HTML網(wǎng)頁中,使用標(biāo)記指定基礎(chǔ)URL;二是隱式指定,封裝所屬資源的URL,我們舉的例子即為如此。

解析相對引用
對URL進(jìn)行轉(zhuǎn)換,需要將相對URL和基礎(chǔ)URL劃分成組件段,或者說“分解(decomposing)”。解析完URL后,可以獲得一個(gè)個(gè)組件,根據(jù)相對URL的完整程度,逐步對其進(jìn)行填充,直到組合成新的絕對URL。這個(gè)填充是使用的是一個(gè)在RFC2396中定義的算法。

URL自動(dòng)拓展

瀏覽器會為用戶提供一條捷徑,使得用戶不需要輸入完整的URL,而交給瀏覽器填充。其方式有二:主機(jī)名拓展和歷史拓展。

主機(jī)名拓展
根據(jù)主機(jī)名進(jìn)行拓展,找到匹配站點(diǎn)則構(gòu)建成功;失敗則再次嘗試其他可能。但是這種拓展可能會為一些其他HTTP應(yīng)用程序(如代理)帶來問題。

歷史拓展
根據(jù)用戶訪問過的歷史URL進(jìn)行拓展,該拓展通過選擇來完成。


三、特殊字符

為了保障URL的可移植性(即使用任何因特網(wǎng)協(xié)議都可以安全傳輸)和完整性,URL需要:

使用通用的安全字母表

對不可見字符進(jìn)行編碼以傳送

包含不安全的字符

為了實(shí)現(xiàn)這點(diǎn),URL使用了通用字母表,并增加了一些編碼規(guī)則。

URL字符集

URL中繼承了ASCII字符集和轉(zhuǎn)義序列,使得其可以使用優(yōu)先子集對任意字符值進(jìn)行編碼。

編碼機(jī)制

通過“轉(zhuǎn)義”表示法,表示不安全字符。其包含一個(gè)百分號(%)和兩個(gè)表示字符ASCII碼的十六進(jìn)制數(shù)。示例如下:

字符 ASCII碼 示例URL
~ 0x7E http://www.joes-hardware.com/%7Ejoe
(空格) 0x20 http://www.joes-hardware.com/more%20tools.html
% 0x25 http://www.joes-hardware.com/100%25satisfaction.html
字符限制

在URL中,字符會因?yàn)橛刑厥夂x、非ASCII可打印字符或者混淆協(xié)議和網(wǎng)關(guān)而被限制。下面是一些被限制的字符:

字符 保留/受限
% 保留為轉(zhuǎn)義標(biāo)志
/?#:; 保留為定界符
. 保留在路徑組件中使用
.. 同上
$+ 保留(不需要理由)
@&= 在不同的方案的上下文中有特殊含義,保留
{}[]~^"| 用于各種傳輸Agent代理,使用受限
<>" 不安全,在URL范圍之外是有意義的,需要進(jìn)行編碼
0x00-0x1F,0x7F 受限,因?yàn)槭遣豢纱蛴∽址?/td>
0x7F 受限,因?yàn)椴辉赨S-ASCII字符集的7二進(jìn)制位范圍之內(nèi)
額外說明

對于不安全字符,最好進(jìn)行編碼。而判斷是否進(jìn)行編碼則由從用戶處獲取URL的源端應(yīng)用來做。URL中,可能有人故意對額外的字符進(jìn)行編碼,從而繞過對URL進(jìn)行模式匹配的應(yīng)用。所以,解釋URL的應(yīng)用必須在處理URL之間進(jìn)行編碼。


四、方案

下面是Web常用方案的一些格式:

方案 描述
http 超文本傳輸協(xié)議。沒有用戶名和密碼,除此之外符合通用URL,端口默認(rèn)為80.
https 與http相對使用了網(wǎng)景的SSL,為HTTP提供端到端的加密機(jī)制,端口默認(rèn)為443
mailto 指向E-mail地址。標(biāo)準(zhǔn)格式與URL格式不同,其語法記錄在RFC822中。
ftp 文件傳輸協(xié)議、要求用戶名和密碼,可以上傳、下載文件,并獲取其目錄結(jié)構(gòu)內(nèi)容
rtsp,rtspu 通過實(shí)時(shí)流傳輸協(xié)議解析的多媒體資源標(biāo)識符。除了方案部分,其余同上。
file 表示一臺指定主機(jī)上可以直接訪問的文件,省略主機(jī)名則默認(rèn)為本機(jī)
news 由RFC036定義,訪問特定的文章或者新聞組。其自身包含的信息不足以對資源進(jìn)行定位,其實(shí)際上與位置無關(guān),只保留字符@來區(qū)分指向新聞組和指向新聞文章的URL
telnet 訪問交互式業(yè)務(wù),表示可以通過telnet訪問的交互式應(yīng)用程序

五、未來的方向

實(shí)際上,由于URL表示的實(shí)際的地址,所以在資源被移動(dòng)以后,無法定位對象。所以,下一代標(biāo)準(zhǔn)URN(統(tǒng)一資源名)開始研究,通過一個(gè)永久統(tǒng)一資源定位符PURL,使用URL實(shí)現(xiàn)URN的功能。可以在PURL中獲取更多信息。


最后的彩蛋,猜猜這個(gè)是哪個(gè)網(wǎng)頁的源代碼?

    
    

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/49732.html

相關(guān)文章

  • 如果想成為一名頂尖的前端,這份書單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來,自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...

    callmewhy 評論0 收藏0
  • 如果想成為一名頂尖的前端,這份書單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來,自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...

    Scliang 評論0 收藏0
  • 如果想成為一名頂尖的前端,這份書單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì)發(fā)表于云+社區(qū)專欄 作者:link 2014年一月以來,自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹。...

    233jl 評論0 收藏0
  • 漫談Web緩存

    摘要:了解前端緩存是打造高性能網(wǎng)站的必要知識。這個(gè)表示,你的請求發(fā)送到后端,后端判斷并認(rèn)為資源可以繼續(xù)使用,直接使用本地緩存。盡可能的設(shè)置久緩存時(shí)間,通過碼來管理版本。參考鏈接淺談緩存權(quán)威指南上配置緩存首發(fā)地址 背景說明 緩存一直是前端性能優(yōu)化中,濃墨重彩的一筆。了解前端緩存是打造高性能網(wǎng)站的必要知識。 之前,對于緩存的認(rèn)知一直停留在看《HTTP權(quán)威指南》和一些相關(guān)帖子的深度,過了一段時(shí)...

    davidac 評論0 收藏0

發(fā)表評論

0條評論

pf_miles

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<