HTTP協(xié)議是互聯(lián)網(wǎng)信息交互中最為重要的協(xié)議之一,特別是在當(dāng)前Web 2.0被廣泛應(yīng)用的今天抬纸,HTTP協(xié)議上承載了Web應(yīng)用的主要交互手段和認(rèn)證機(jī)制。從供給角度來講,多數(shù)針對Web站點(diǎn)的供給手段也需要借助操作樟澜、提交、解析HTTP協(xié)議來完成。如:XSS攻擊秩贰、SQL注入霹俺、暴力破解等攻擊手段,以及主流的漏洞掃描工具的漏洞檢驗(yàn)機(jī)制等毒费。因此HTTP協(xié)議是學(xué)習(xí)Web安全知識繞不開的協(xié)議丙唧。
URL(Uniform Resource identifier): 統(tǒng)一資源標(biāo)識符。
結(jié)構(gòu):
scheme://login:passwd@address:port/path/to/resource?query_string#fragment
Scheme協(xié)議名稱:
指定使用的傳輸協(xié)議觅玻,其中HTTP協(xié)議是互聯(lián)網(wǎng)中最廣泛的協(xié)議想际。
其他協(xié)議:
file:用于訪問資源位于本地計(jì)算機(jī)上的文件。
ftp:用于訪問FTP服務(wù)器上的資源溪厘。
https:通過加密協(xié)議SSL的http訪問web服務(wù)器資源胡本。
mailto:訪問資源屬于電子郵件地址,通過SMTP協(xié)議訪問畸悬。
ed2k\flashget\thunde等通過支持專用下載協(xié)議的P2P軟件訪問資源
// :
URL層級URL標(biāo)記符號侧甫,在授權(quán)信息之前,每個(gè)層級結(jié)構(gòu)的絕對URL里應(yīng)該包括固定的"http://"符號傻昙,同樣根據(jù)該規(guī)范闺骚,如果沒有層級URL標(biāo)記,將無法確定URL余下部分的格式和功能妆档。
非層級URL結(jié)構(gòu): mailto:
login:passwd:
訪問資源的身份認(rèn)證僻爽。
在URL中身份驗(yàn)證屬于可選項(xiàng),在向服務(wù)器申請資源時(shí)贾惦,在某些情況下胸梆,需要制定一個(gè)用戶名和密碼。需要注意的是须板,此處身份驗(yàn)證的字段只與URL開端指定的協(xié)議有關(guān)碰镜,和實(shí)際請求的內(nèi)容無關(guān)。
如果沒有身份驗(yàn)證字段习瑰,瀏覽器默認(rèn)以匿名方式訪問資源绪颖。
address:服務(wù)器地址:
完整的層級URL,必須有一個(gè)域名甜奄、IPv4或者IPv6地址作為請求服務(wù)器的位置柠横。這里域名是不區(qū)分大小寫的,二IPv6需要在方括號中
port:服務(wù)器端口
服務(wù)器端口是URL中的可選內(nèi)容课兄,在沒有端口時(shí)牍氛,會默認(rèn)去訪問協(xié)議的標(biāo)準(zhǔn)端口⊙滩基本上瀏覽器支持的協(xié)議都會有關(guān)聯(lián)的默認(rèn)服務(wù)接口搬俊。不過默認(rèn)接口可以在URL中進(jìn)行修改紊扬。
TCP和UDP都依賴一個(gè)16位端口號來分別訪問同一臺服務(wù)器的不同服務(wù)。
/path/to/resource:層級文件路徑
URL的這部分被稱為層級文件路徑唉擂,這一結(jié)構(gòu)來源自UNIX目錄語義餐屎,因此保留了對"/../" 、"/./" 的支持楔敌。
啤挎?query_string:查詢字符串
查詢字符串是一個(gè)非必須的字段驻谆,只要負(fù)責(zé)將一系列非層級格式的任意參數(shù)傳遞給指定的服務(wù)器資源卵凑。遺憾的是。RFC標(biāo)準(zhǔn)中并未對這一字段的規(guī)則進(jìn)行硬性的規(guī)定胜臊,因此留下了很多安全隱患勺卢,此處會引發(fā)很多的安全問題。
#fragment:片段ID
片段ID是應(yīng)用的位置有別于查詢字符串象对,他應(yīng)用于客戶端黑忱,片段ID并不會傳到服務(wù)器。 片段ID一般指向頁面中的某個(gè)錨點(diǎn)勒魔,將片段ID與預(yù)先設(shè)置的錨點(diǎn)名稱匹配甫煞,并滾動(dòng)到相應(yīng)位置。
片段ID有一項(xiàng)不常使用的用途冠绢,就是儲存臨時(shí)數(shù)據(jù)抚吠,例如保存客戶端腳本需要的一些狀態(tài)參數(shù)。
HTTP協(xié)議
HTTP,全稱是超文本傳輸協(xié)議弟胀,是WEB的核心傳輸機(jī)制楷力,也是服務(wù)端與客戶端之間交換URL的首選協(xié)議。
HTTP請求:
HTTP響應(yīng):