JavaWeb(二)——Http协议
文章目錄
- 1. Http簡(jiǎn)介
- 2. Http協(xié)議特點(diǎn)
- 3. 兩個(gè)時(shí)代
- 4. Http請(qǐng)求/響應(yīng)的步驟
- 5. Http請(qǐng)求
- 6. Http響應(yīng)
- 7. Http 和 Https 的主要區(qū)別
- 8. 常見面試題
1. Http簡(jiǎn)介
HTTP(超文本傳輸協(xié)議)是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。HTTP協(xié)議工作于客戶端-服務(wù)端架構(gòu)為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務(wù)端即WEB服務(wù)器發(fā)送所有請(qǐng)求。Web服務(wù)器根據(jù)接收到的請(qǐng)求后,向客戶端發(fā)送響應(yīng)信息。
- 文本:html,字符串,~ ….
- 超文本:圖片,音樂,視頻,定位,地圖…….
- 默認(rèn)端口:80
Https:安全的
- 默認(rèn)端口:443
2. Http協(xié)議特點(diǎn)
無連接:無連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時(shí)間。
無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議。無狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快。
詳細(xì)說明:
3. 兩個(gè)時(shí)代
-
http1.0
- HTTP/1.0:客戶端可以與web服務(wù)器連接后,只能獲得一個(gè)web資源,斷開連接
-
http2.0
- HTTP/1.1:客戶端可以與web服務(wù)器連接后,可以獲得多個(gè)web資源
4. Http請(qǐng)求/響應(yīng)的步驟
(1)客戶端連接到Web服務(wù)器
(2)發(fā)送HTTP請(qǐng)求
(3)服務(wù)器接受請(qǐng)求并返回HTTP響應(yīng)
(4)釋放連接TCP連接
(5)客戶端瀏覽器解析HTML內(nèi)容
5. Http請(qǐng)求
- 客戶端—發(fā)請(qǐng)求(Request)—服務(wù)器
百度:
Request URL:https://www.baidu.com/ 請(qǐng)求地址 Request Method:GET get方法/post方法 Status Code:200 OK 狀態(tài)碼:200 Remote(遠(yuǎn)程) Address:14.215.177.39:443 Accept:text/html Accept-Encoding:gzip, deflate, br Accept-Language:zh-CN,zh;q=0.9 設(shè)置語(yǔ)言 Cache-Control:max-age=0 Connection:keep-alive(1)請(qǐng)求行
-
請(qǐng)求行中的請(qǐng)求方式:GET
-
請(qǐng)求方式:Get,Post,HEAD,DELETE,PUT,TRACT…
- get:請(qǐng)求能夠攜帶的參數(shù)比較少,大小有限制,會(huì)在瀏覽器的URL地址欄顯示數(shù)據(jù)內(nèi)容,不安全,但高效
- post:請(qǐng)求能夠攜帶的參數(shù)沒有限制,大小沒有限制,不會(huì)在瀏覽器的URL地址欄顯示數(shù)據(jù)內(nèi)容,安全,但不高效
(2)消息頭
Accept:告訴瀏覽器,它所支持的數(shù)據(jù)類型 Accept-Encoding:支持哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1 Accept-Language:告訴瀏覽器,它的語(yǔ)言環(huán)境 Cache-Control:緩存控制 Connection:告訴瀏覽器,請(qǐng)求完成是斷開還是保持連接 HOST:主機(jī)..../.6. Http響應(yīng)
- 服務(wù)器—響應(yīng)-----客戶端
百度:
Cache-Control:private 緩存控制 Connection:Keep-Alive 連接 Content-Encoding:gzip 編碼 Content-Type:text/html 類型(1)響應(yīng)體
Accept:告訴瀏覽器,它所支持的數(shù)據(jù)類型 Accept-Encoding:支持哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1 Accept-Language:告訴瀏覽器,它的語(yǔ)言環(huán)境 Cache-Control:緩存控制 Connection:告訴瀏覽器,請(qǐng)求完成是斷開還是保持連接 HOST:主機(jī)..../. Refresh:告訴客戶端,多久刷新一次; Location:讓網(wǎng)頁(yè)重新定位;(2)響應(yīng)狀態(tài)碼
200:請(qǐng)求響應(yīng)成功 200
3xx:請(qǐng)求重定向
- 重定向:你重新到我給你新位置去;
4xx:找不到資源 404
- 資源不存在;
5xx:服務(wù)器代碼錯(cuò)誤 500 502:網(wǎng)關(guān)錯(cuò)誤
7. Http 和 Https 的主要區(qū)別
(1)https協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。
(2)http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl(安全套接層)加密傳輸協(xié)議。
(3)http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
(4)http的連接很簡(jiǎn)單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。
8. 常見面試題
當(dāng)你的瀏覽器中地址欄輸入地址并回車的一瞬間到頁(yè)面能夠展示回來,經(jīng)歷了什么?
參考博客:https://blog.csdn.net/wuhenliushui/article/details/20038819
此部分待更
總結(jié)
以上是生活随笔為你收集整理的JavaWeb(二)——Http协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaWeb(一)——web服务器、T
- 下一篇: JavaWeb(三)——Maven的安装