HTTP請求與伺服器響應全流程
1. HTTP 簡介
1.1定義
1.2 請求/響應報文格式
1.3請求方式–GET/POST 狀態碼
1.4 響應狀態
2. HTTP請求,瀏覽器做了什麼, 服務端處理解析過程
1:HTTP簡介
1.1
HTTP(HyperText Transfer Protocol,超文字傳輸協議)最早就是計算機與計算機之間溝通的一種標準協議,這 種協議限制了通訊內容的格式以及各項內容的含義。
隨著時代的發展,技術的變遷,這種協議現在廣泛的應用在各種領域,也不僅僅侷限於計算機與計算機之間,手 機、電視等各種智慧裝置很多時候都在使用這種協議通訊,所以一般現在稱 HTTP 為端與端之間的通訊協議。
Web 屬於 B/S 架構的應用軟體,在 B/S 架構中,瀏覽器與伺服器溝通的協議就是 HTTP 協議,作為一個合格的 Web 開發者,瞭解 HTTP 協議中約定的內容是一門必修課。
應用軟體架構一般分為兩類: B/S 架構:Browser(瀏覽器) ←→ Server(伺服器),這種軟體都是通過瀏覽器訪問一個網站使用, 伺服器提供資料儲存等服務。 C/S 架構:Client(客戶端) ←→ Server(伺服器),這種軟體通過安裝一個軟體到電腦,然後使用, 伺服器提供資料儲存等服務。
1.2請求報文的格式
請求行 —》請求方式 請求路徑 HTTP協議版本 (一般GET請求主觀上都是去‘拿東西’,所以使用需要看情況)
請求頭 —》客戶端想要告訴服務端的一些額外資訊
空行
請求體 —》客戶端想要傳送給服務端的資料正文
1.3請求的方式GET/POST 狀態碼
根據HTTP標準,HTTP請求可以使用多種請求方法。
HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
具體的請檢視官方文件:
狀態碼:瞭解即可
狀態程式碼由三位數字組成,第一個數字定義了響應的類別,且有五種可能取值。
1xx:指示資訊 —— 表示請求已接收,繼續處理。
2xx:成功 —— 表示請求已被成功接收、理解、接受。
3xx:重定向 —— 要完成請求必須進行更進一步的操作。
4xx:客戶端錯誤 —— 請求有語法錯誤或請求無法實現。
5xx:伺服器端錯誤 —— 伺服器未能實現合法的請求。
常見狀態程式碼、狀態描述的說明如下。
200 OK:客戶端請求成功。
400 Bad Request:客戶端請求有語法錯誤,不能被伺服器所理解。
401 Unauthorized:請求未經授權,這個狀態程式碼必須和 WWW-Authenticate 報頭域一起使用。
403 Forbidden:伺服器收到請求,但是拒絕提供服務。
404 Not Found:請求資源不存在,舉個例子:輸入了錯誤的URL。
500 Internal Server Error:伺服器發生不可預期的錯誤。 503 Server Unavailable:伺服器當前不能處理客戶端的請求,一段時間後可能恢復正常。
- HTTP請求,瀏覽器做了什麼, 服務端處理解析過程
下面這張圖我覺得比任何文字描述都清晰了,我這裡就不再做詳細介紹了,此圖根據不同的作業系統,會有不同的概念,此為:Windows下的Apache+PHP環境。
結語:以上過程僅是個人理解,或許有錯誤的地方,也或者有還未理解到的層面,如果看到有錯誤或者有所指點的還希望不吝賜教指正!抱拳,感謝!O(∩_∩)O哈哈~附上個人部落格:https://dobinspark.com.cn/