教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓(xùn)之防盜鏈及Content-Type解讀

更新時(shí)間:2016年06月24日15時(shí)59分 來源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):

1.請求頭Referer

Referer請求頭的值是發(fā)送請求的超鏈接所屬頁面的URL。下面通過一個(gè)案例來詳細(xì)了解Referer請求頭,代碼詳情請參考防盜鏈之代碼詳解
  1. 創(chuàng)建一個(gè)web應(yīng)用Example06,在該應(yīng)用的index.jsp頁面中,添加一個(gè)超鏈接,主要代碼如例1-1所示:
例1-1 index.jsp
  由例1-1可知,index.jsp頁面中的超鏈接所連接的地址是Example04,也就是說當(dāng)點(diǎn)擊該超鏈接訪問的是Example04的index.jsp頁面。
(2)將Example06以及Example04發(fā)布到Tomcat服務(wù)器中,然后啟動(dòng)Tocmat服務(wù)器,最后在瀏覽器端地址欄上輸入http://localhost:8080/Example06,瀏覽器顯示結(jié)果如圖1-1所示:
圖1-1 運(yùn)行結(jié)果
(3)點(diǎn)擊圖1-1所示中的【點(diǎn)擊去Example04】超鏈接,并使用HttpWatch工具進(jìn)行抓包,如圖1-2所示:
圖1-2 運(yùn)行結(jié)果
通過HttpWatch抓包后,得到請求信息,具體內(nèi)容如例1-2所下:
例1-1 請求信息
我們可以發(fā)現(xiàn)Referer請求頭的值為:http://localhost:8080/Example06/,我們是從Exmple06項(xiàng)目的index.jsp頁面跳轉(zhuǎn)到Example04的index.jsp頁面,而Example06的index.jsp頁面的URL也確實(shí)是http://localhost:8080/Example06。

2.什么是盜鏈

假設(shè)一個(gè)網(wǎng)站的首頁中想顯示一些圖片信息,而該網(wǎng)站的服務(wù)器中并沒有這些圖片資源,它就通過在Html文件或jsp文件中使用img標(biāo)簽鏈接到其他網(wǎng)站的圖片資源,將其展示給瀏覽者,這就是盜鏈。
  • 如何防盜鏈
在本網(wǎng)站中,對所有請求都進(jìn)行判斷請求信息中Referer請求頭的值是否是本站的url,如果不是可以阻止其訪問或跳轉(zhuǎn)到指定的頁面。
使用Referer請求頭要注意以下兩點(diǎn):
  • 如果是在瀏覽器地址欄上直接訪問,那么請求信息中就沒有Referer請求頭。
  • 如果在頁面中點(diǎn)擊超鏈接或者提交表單,請求信息中存在Referer請求頭。
Referer請求頭有以下兩個(gè)用途:
  • 統(tǒng)計(jì)工作
  • 防盜鏈

3.Content-Type請求頭

HTTP響應(yīng)協(xié)議中,我們講解的響應(yīng)頭中提到過Content-Type。請求頭中也有一個(gè)請求頭名字為Content-Type,但是它們是不一樣的。
Content-Type請求頭是瀏覽器告訴服務(wù)器,請求體的類型。對于Get請求來說,它是沒有請求體的,所以Gontent-Type請求頭在GET方式的請求信息中是不存在的。它的默認(rèn)值是application/x-www-form/urlencoded,表示請求體內(nèi)容會(huì)經(jīng)過URL編碼。

4.Content-Length請求頭

Content-Length請求頭的值是請求體的字節(jié)數(shù)。對于請求方式是GET請求的請求信息中是不存在這個(gè)請求頭的。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://metathetuscanyresort.com/javaee
0 分享到:
和我們在線交談!