計算機網路_HTTP協議
- HTTP請求方法
- HTTP訊息格式
- HTTP 請求訊息的基本組成結構: 請求行 + 訊息頭 + 物體內容(可選)
- HTTP 回應訊息的基本組成結構: 狀態行 + 訊息頭 + 物體內容
- 1. 說說 HTTP 狀態碼的大致分類?并列舉五個常見的 HTTP 狀態碼并說明其作用
- 1xx:提示資訊狀態碼
- 2xx:成功狀態碼
- 200——OK,請求處理成功
- 3xx:重定向狀態碼
- 304——Not Modified,服務端未改變,使用瀏覽器快取
- 4xx:客戶端錯誤狀態碼
- 400——Bad Request,客戶端請求報文錯誤,服務端無法識別
- 404——Not Found,請求資源不存在
- 5xx:服務端錯誤狀態碼
- 500——Internal Server Error
- 請按自己的理解簡述 HTTP 1.1 與 HTTP 1.0 的區別?
- HTTPS
- 1. 什么是 HTTPS?
- 2. HTTP 與 HTTPS 有哪些區別?
- 3. HTTPS 解決了 HTTP 的哪些問題?
- SSL協議作業原理
- HTTPS的通信程序
- HTTPS證書
HTTP請求方法
HTTP 請求方法
Restful、SOAP、RPC、SOA、微服務之間的區別
HTTP訊息格式
《深入體驗 Java Web 開發內幕——核心基礎》3.1.4 HTTP 訊息的格式
HTTP 請求訊息的基本組成結構: 請求行 + 訊息頭 + 物體內容(可選)
一個完整的 HTTP 請求訊息包括: 一個請求行、若干訊息頭(部分訊息頭可選),以及物體內容(可選);其中,訊息頭和物體內容之間使用空行隔開(即回車和換行);
發送 GET 請求時,不包含物體內容;
發送 POST/DELETE/PUT 請求時,包含物體內容;
GET /books/java.html HTTP/1.1 // 請求行
Accept: */* // 請求頭
Accept-Language: en-us // 請求頭
Connection: Keep-Alive // ......
Host: localhost
Referer: http://localhost/links.asp
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Accept-Encoding: gzip, deflate
// 物體內容...(POST/DELETE/PUT)
HTTP 回應訊息的基本組成結構: 狀態行 + 訊息頭 + 物體內容
一個完整的 HTTP 回應訊息包括: 一個狀態行、若干訊息頭(部分訊息頭可選),以及物體內容(可選);其中,訊息頭和物體內容之間使用空行隔開(即回車和換行);
HTTP/1.1 200 OK // 狀態行
Server: Microsoft-IIS/5.0 // 訊息頭
Date: Thu, 13 Jul 2000 05:46:53 GMT // 訊息頭
Content-Length: 2291 // ......
Content-Type: text/html
Set-Cookie: ADFAASFASDFASFASFKJHLKHLJJIOQENJGLASJFLJ; path=.
Cache-control: private
<HTML> // 物體內容
<BODY>
......
1. 說說 HTTP 狀態碼的大致分類?并列舉五個常見的 HTTP 狀態碼并說明其作用
硬核!30 張圖解 HTTP 常見的面試題 HTTP 常見的狀態碼,有哪些?
常見的HTTP狀態碼

1xx:提示資訊狀態碼
1xx:提示資訊狀態碼,表示請求處理的中間狀態——服務端已接收請求,正在處理
2xx:成功狀態碼
2xx:請求成功狀態碼,表示請求報文已接收并被正確處理,
200——OK,請求處理成功
3xx:重定向狀態碼
304——Not Modified,服務端未改變,使用瀏覽器快取
當瀏覽器獲取到一個請求的內容時,會將請求內容快取到本地;瀏覽器重新向服務端發起請求時,若服務端資料未做改變(通過請求頭中If-Modified-Since和回應頭中Last-Modified欄位比較進行判定),則回傳給瀏覽器一個空的報文頭和304狀態碼,304狀態碼表示服務器端資料未做任何改變,可直接使用瀏覽器端快取資料;該特性可減少服務端靜態資源的重復加載,降低網路開銷;
HTTP 304 的理解
[譯]理解HTTP/304回應
分析HTTP請求回傳304狀態碼
4xx:客戶端錯誤狀態碼
400——Bad Request,客戶端請求報文錯誤,服務端無法識別
400:請求報文語法有誤,服務器無法識別
404——Not Found,請求資源不存在
404:客戶端請求的資源在服務端不存在,服務端無法找到
5xx:服務端錯誤狀態碼
500——Internal Server Error
請按自己的理解簡述 HTTP 1.1 與 HTTP 1.0 的區別?
《深入體驗 Java Web 開發內幕——核心基礎》3.1.3 HTTP 1.1 與 HTTP 1.0 的比較
- HTTP 1.1 支持TCP層的持續連接,HTTP 1.0 不支持TCP層的持續連接
HTTP 1.0 中,瀏覽器與服務器在TCP層只保持短暫的連接,每個HTTP請求都需要一個單獨的TCP連接,對于一個包含許多圖片的網頁檔案,需要發送多個HTTP請求,并建立多個TCP連接來獲取圖片資料;
HTTP 1.1 中,瀏覽器與服務器在TCP層可以保持持續的連接,而在一個單獨的TCP連接中,可以包含多個獨立的HTTP連接,對于一個包含許多圖片的網頁檔案,可以在一個TCP連接中發送多個HTTP請求,獲得相應的圖片資料; - HTTP 1.1 是異步的,HTTP 1.0 是同步的
HTTP 1.1 是異步的,不需要等待上一次請求的回應到達便可發出下一次請求,只是服務器必須按照請求的達到順序進行處理并回傳回應;
HTTP 1.0 是同步的,必須等待上一次請求的回應到達才可發出下一次請求; - HTTP 1.1 相較 HTTP 1.0 增加了更多欄位
> host: HTTP 1.1 中,瀏覽器可直接通過主機名訪問服務器(服務器需配置虛擬主機),增加了對服務器虛擬主機的支持;而 HTTP 1.0 不包含此欄位;
> Connection: HTTP 1.1 中,Connection 請求頭的值為 Keep-Alive 時,客戶端通知服務器回傳本次請求結果后保持連接;Connection 請求頭的值為 close 時,客戶端通知服務器回傳本次請求結果后關閉連接;而 HTTP 1.0 不包含此欄位;
HTTPS
《Java面經-百度準入職老哥整理》9.12 https ssl
1. 什么是 HTTPS?
HTTPS 協議是由 HTTP+SSL 協議構建的可進行身份認證、加密傳輸的網路協議,HTTPS 協議比 HTTP 協議更安全,
《Java面經-百度準入職老哥整理》9.12 https ssl
2. HTTP 與 HTTPS 有哪些區別?
硬核!30 張圖解 HTTP 常見的面試題 HTTP 與 HTTPS 有哪些區別?
《Java面經-百度準入職老哥整理》9.12 https ssl
- 證書不同
HTTP 協議不需要證書;
而HTTPS 協議需要向 CA(證書權威機構)申請證書,來保證服務器的身份是可信的; - 協議區間不同
在七層 OSI 網路模型中,HTTP 協議作業于應用層,而 HTTPS 協議作業于傳輸層; - 連接程序不同
HTTP 協議的連接只需經過 TCP 三次握手之后便可進行報文的傳輸;
而 HTTPS 協議在進過 TCP 三次握手之后,還需進行 TLS/SSL 的握手之后才可進行報文的傳輸; - 傳輸內容不同
HTTP 是超文本傳輸協議,資訊是明文傳輸,是不安全的;
而 HTTPS 則在 HTTP 協議的基礎上添加了 SSL/TLS 安全協議,資訊是加密傳輸,是安全的; - URL 和埠不同
HTTP 協議的 URL 以 http:// 開頭,使用的是 80 埠;
而 HTTPS 協議的 URL 以 https:// 開頭,使用的是 443 埠;
3. HTTPS 解決了 HTTP 的哪些問題?
HTTP 由于是明文傳輸,所以在資訊安全上會存在如下三個問題:
- 竊聽風險
- 篡改風險
- 冒充風險
硬核!30 張圖解 HTTP 常見的面試題 HTTP 與 HTTPS 有哪些區別?
SSL協議作業原理
SSL作業原理介紹以及java實作
HTTPS的通信程序

- 客戶端C與服務端S通過TCP建立連接,初始化SSL層;
- 進行SSL握手,客戶端C發送HTTPS請求,傳送客戶端SSL協議版本號、支持的加密演算法、亂數等;
- 服務器S把CA證書(包含S的公鑰)、服務器S支持的加密演算法、亂數等回傳給客戶端C;
- A接收到CA證書,驗證證書有效性;
- 證書校驗完成,客戶端隨機產生一個字串作為與服務端S通信的對稱秘鑰key,通過CA整數解出服務端S的公鑰,對對稱秘鑰key進行加密,并發送給服務器;
- 服務端S用私鑰解開資訊,得到隨機的字串(對稱密鑰),利用這個密鑰作為之后通信的密鑰;
- 客戶端向服務器發出資訊,指明后面的資料使用該對稱密鑰進行加密,同時通知服務器SSL握手結束;
- 服務器接收到資訊,使用對稱密鑰通信,通知握手結束;
- SSL握手結束,使用對稱密鑰加密資料;
HTTPS證書
Let’s Encrypt,免費好用的 HTTPS 證書
如何為你的服務器申請免費的SSL證書
教你快速擼一個免費HTTPS證書
一篇文章讓你搞懂 SSL 證書
Let’s Encrypt,免費好用的 HTTPS 證書
如何為你的服務器申請免費的SSL證書
教你快速擼一個免費HTTPS證書
一篇文章讓你搞懂 SSL 證書
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299534.html
標籤:其他
上一篇:jmeter運行報錯Response code:Non HTTP response code:java.lang.IllegalArgumentException查找解決
下一篇:入職金融IT國企之路
