1、簡介html
* 概念:Hyper Text Transfer Protocol 超文本傳輸協議 * 傳輸協議:定義了,客戶端和服務器端通訊時,發送數據的格式 * 特色: 1. 基於TCP/IP的高級協議 2. 默認端口號:80 3. 基於請求/響應模型的:一次請求對應一次響應 4. 無狀態的:每次請求之間相互獨立,不能交互數據 * 歷史版本: * 1.0:每一次請求響應都會創建新的鏈接 * 1.1:複用鏈接
2、請求消息數據格式瀏覽器
1. 請求行 請求方式 請求url 請求協議/版本 GET /login.html HTTP/1.1 * 請求方式: * HTTP協議有7中請求方式,經常使用的有2種 * GET: 1. 請求參數在請求行中,在url後。 2. 請求的url長度有限制的 3. 不太安全 * POST: 1. 請求參數在請求體中 2. 請求的url長度沒有限制的 3. 相對安全 2. 請求頭:客戶端瀏覽器告訴服務器一些信息 請求頭名稱: 請求頭值 * 常見的請求頭: 1. User-Agent:瀏覽器告訴服務器,我訪問你使用的瀏覽器版本信息 * 能夠在服務器端獲取該頭的信息,解決瀏覽器的兼容性問題 2. Referer:http://localhost/login.html * 告訴服務器,我(當前請求)從哪裏來? * 做用: 1. 防盜鏈: 2. 統計工做: 3. 請求空行 空行,就是用於分割POST請求的請求頭,和請求體的。 4. 請求體(正文): * 封裝POST請求消息的請求參數的
* 字符串格式: POST /login.html HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: http://localhost/login.html Connection: keep-alive Upgrade-Insecure-Requests: 1 username=zhangsan