一缎浇、ABNF
1.什么是 ABNF稽犁?(了解)
ABNF
2. ABNF 的格式如何?(理解即可)
ABNF01
request-line / status-line
header-filed / message-body
3. URL 中如果出現(xiàn)特殊字符(中文字符或空格)
秕磷,要怎么處理?瀏覽器的默認處理是什么炼团?(重要)
編碼
4. 使用 Xshell + telnet 可以面向報文觀察 HTTP澎嚣。(了解)
Xshell
二、請求頭字段
1. GET们镜、POST币叹、HEAD 請求各自的特點和適用場景润歉?(重要)
適用場景說明
2. 什么是盜鏈模狭?什么是防盜鏈?通過那個請求頭可以防盜鏈踩衩?(重要嚼鹉、待實踐)
盜鏈:
就是在自己的網(wǎng)站上,盜用其他服務器的圖片資源驱富,展示到自己的網(wǎng)站上锚赤。
防盜鏈:
就是防止非自己的網(wǎng)站,訪問自己服務器的公開圖片資源褐鸥。
請求頭字段:
可以通過 Referer
請求頭字段來防盜鏈
3. 如果我們需要下載一個大文件线脚,需要實現(xiàn)多線程下載和斷點下載
,需要依靠請求頭的哪個字段叫榕?
image.png
4. 常見請求頭字段(要認識浑侥,以及知道作用)
image.png
image.png
image.png
三、響應頭字段
1. 常見響應頭字段晰绎?(要認識寓落,以及知道作用)
image.png
image.png
2. Content-Type 的作用?(實踐 + 重要)
response.setContentType("text/html;charset=utf-8");
- ①可以設定服務器返回的編碼
charset=utf-8
荞下,這樣防止亂碼 - ②告訴客戶端伶选,服務器返回的是格式
text/html
3. Content-Disposition 的作用?(實踐 + 重要)
@WebServlet("/download")
public class DownloadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain; charset=UTF8");
response.setHeader("Content-Disposition","attachment; filename=\"download.txt\"");
response.getWriter().write("這是我的大文件");
}
}
-
response.setHeader("Content-Disposition","attachment; filename=\"download.txt\"");
可以讓瀏覽器以下載的方式尖昏,去下載服務端返回的數(shù)據(jù)仰税。