HTTP與HTTP協議


本篇文章簡單普及一些HTTP與HTTP協議的的相關內容。

一、HTTP

1、HTTP介紹
HTTP(超文本傳輸協議)詳細規定了瀏覽器和萬維網服務器之間互相通信的規則,其實就是一套通信規則;
規定了客戶端發送給服務器的內容格式,叫請求協議;
也規定了服務器發送給客戶端的內容格式,稱爲響應協議。

2、URL是什麼?
統一資源定位符,其實就是一個網址,格式是:“協議名://域名:端口/路徑”;
例如:http://www.baidu.cn:80/index.html

二、請求協議

1、請求協議的格式

  • 請求首行;(網址前端,請求方式、請求路徑、協議和版本)
  • 請求頭信息;(鍵值對,請求頭名稱:請求頭內容)
  • 空行; (用來與請求體分隔開)
  • 請求體。 (請求的內容, GET沒有請求體,只有POST有請求體)

注意:瀏覽器發送給服務器的內容就這個格式的,如果不是這個格式服務器將無法解讀!

2、GET請求
特點:HTTP默認請求方式、沒有請求體、請求數據會暴露在地址欄中

常見的GET:1)在瀏覽器的地址欄中直接給出URL;2)點擊頁面上的超鏈接;3)提交表單時,表單默認使用GET請求,但可以設置爲POST

3、常見請求頭

  • Response Header:響應頭
  • Request Header:請求頭
  • Accept:服務端能接收的文檔類型(有優先級)
  • Accept-Encoding:支持的文檔壓縮類型
  • Accept-language:能接收的語言
  • Connection:客戶端支持的連接方式
  • Content-Type: 表單的數據類型
  • Cookie:一堆無意義的鍵值對,(請求中把上一次服務器響應中發送過來的Cookie在請求中一併發送去過)
  • Host:域名(主機地址)
  • User-Agent:訪問用戶的瀏覽器和主機信息

4、post請求
特點:數據不會出現在地址欄中、 數據的大小沒有上限、有請求體
注意:請求體中如果有中文或特殊符號,會使用URL編碼
如:%E5%BC%A0%E4%B8%89&password=123

5、修改網頁提交方式爲post請求

<form action="" method="post">
  用戶:<input type="text" name="user"/>
  <input type="submit" value="提交"/>
</form>

三、響應協議

1、響應協議格式
響應首行;
響應頭信息;
空行;
響應體。
注意:響應內容是由服務器發送給瀏覽器的內容,瀏覽器會根據響應內容來顯示。

2、響應信息

HTTP/1.1 200 OK:響應協議爲HTTP1.1,狀態碼爲200,表示請求成功,OK是對狀態碼的解釋;


Server:WSGIServer/0.2 CPython/3.5.2:服務器的版本信息; Content-Type;


text/html;charset=UTF-8:響應體使用的編碼爲UTF-8; Content-Length: 724:響應體爲724字節;


et-Cookie: JSESSIONID=C97E2B4C55553EAB46079A4F263435A4;


Path=/hello:響應給客戶端的Cookie; Date: Sun, 25 Sep 2020 05:22:04


GMT:響應的時間,這可能會有8小時的時區差;

3、狀態碼
它能夠說明響應的真正含義。
200:請求成功,瀏覽器會把響應體內容(通常是html)顯示在瀏覽器中;
404:請求的資源沒有找到,說明客戶端錯誤的請求了不存在的資源;
500:請求資源找到了,但服務器內部出現了錯誤;
302:重定向,當響應碼爲302時,表示服務器要求瀏覽器重新再發一個請求,服務器會發送一個響應頭Location,它指定了新請求的URL地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章