HTTP
1.概念:Hyper Text Transfer Protocol 超文本傳輸協議
傳輸協議:定義了客戶端和服務器端通信時,發送資料的格式,
優點:
1.基于TCP/IP的高級協議,TCP是相對于安全的,需要三次握手才能發送資料,
2.默認的埠號:80
3.基于請求/回應模型,一次請求對應一次回應,
4.無狀態的:每次請求之間相互獨立,不能互動資料,
HTTP的歷史版本:
1.HTTP1.0:每次請求都會建立新的連接,
2.HTTP1.1:復用連接,在第一次連接建立后,會等到所有請求完畢時才會釋放連接,
2.請求訊息資料格式
(1).請求行
格式: 請求方式/ 請求url 請求協議/版本
GET /login.html HTTP/1.1
(2).請求方式:
HTTP協議有7種請求方式,常用的有2種:
- GET
1.請求引數在請求行中,在url后
2.請求的url長度有限
3.不安全
- POST
1.請求引數在請求體中
2.請求的url長度沒有限制
3.相對安全
(3).請求頭:客戶端瀏覽器告訴服務器一些相關的資訊,
格式 請求頭名稱:請求頭值
常見的請求頭有:
- User-Agent:瀏覽器告訴服務器,我訪問你使用的瀏覽器版本資訊,
可以在服務器端獲取頭資訊,解決兼容性問題,
- Referer:http://localhost/login.html
告訴服務器,當前請求從哪里來?
作用:防盜鏈,統計作業
(4).請求空行:空行,就是用于分割POST請求的請求頭,和請求體的,
(5).請求體(正文):封裝POST請求訊息的請求引數的,
3.整體字串格式:
請求行: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=zhnagsan
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/281415.html
標籤:其他
