1. 程式人生 > >前端—http協議

前端—http協議

url編碼 tran 中文 相同 瀏覽器中 之間 做了 響應狀態 pro

一、http協議是什麽?

超文本傳輸協議:HTTPhypertext transport protocol),即超文本傳輸協議。這個協議詳細規定了瀏覽器和萬維網服務器之間互相傳輸數據的規則

HTTP就是一個通信規則,通信規則規定了客戶端發送給服務器的內容格式,也規定了服務器發送給客戶端的內容格式。其實我們要學習的就是這個兩個格式!

超文本傳輸協議的分類:

客戶端發送給服務器的格式叫請求協議

服務器發送給客戶端的格式叫響應協議

特點:

  • HTTP叫超文本傳輸協議,基於請求/響應模式的!
  • HTTP是無狀態協議。()

請求協議:瀏覽器訪問服務器時遵循的規則

1、GET請求

HTTP默認的請求方法就是GET
* 沒有請求體
* 數據必須在1K之內!
* GET請求數據會暴露在瀏覽器的地址欄中

GET請求常用的操作:
1. 在瀏覽器的地址欄中直接給出URL,那麽就一定是GET請求
2. 點擊頁面上的超鏈接也一定是GET請求
3. 提交表單時,表單默認使用GET請求,但可以設置為POST


html:是通信時數據傳輸格式

由於http的特性時無狀態的,所以每次請求時客戶端攜帶cokie去訪問服務端

cokie 把會話信息全部保存在客戶端

session:是把會話信息放在服務端,客戶端保存會話ID,通過會話ID去服務器打開自己的會話信息

2、post

(1). 數據不會出現在地址欄中
(2). 數據的大小沒有上限
(3). 有請求體
(4). 請求體中如果存在中文,會使用URL編碼!

響應協議:服務器響應客戶端時遵循的標準

響應首行;
響應頭信息;
空行;
響應體。

響應狀態

  • 200:請求成功,瀏覽器會把響應體內容(通常是html)顯示在瀏覽器中;
  • 404:請求的資源沒有找到,說明客戶端錯誤的請求了不存在的資源;
  • 500:請求資源找到了,但服務器內部出現了錯誤;
  • 302:重定向,當響應碼為302時,表示服務器要求瀏覽器重新再發一個請求,服務器會發送一個響應頭Location,它指定了新請求的URL地址;
  • 304
  • 當用戶第一次請求index.html時,服務器會添加一個名為Last-Modified響應頭,這個頭說明了
      index.html的最後修改時間,瀏覽器會把index.html內容,以及最後響應時間緩存下來。當用戶第
      二次請求index.html時,在請求中包含一個名為If-Modified-Since請求頭,它的值就是第一次請
      求時服務器通過Last-Modified響應頭發送給瀏覽器的值,即index.html最後的修改時間,
      If-Modified-Since請求頭就是在告訴服務器,我這裏瀏覽器緩存的index.html最後修改時間是這個,
      您看看現在的index.html最後修改時間是不是這個,如果還是,那麽您就不用再響應這個index.html
      內容了,我會把緩存的內容直接顯示出來。而服務器端會獲取If-Modified-Since值,與index.html
      的當前最後修改時間比對,如果相同,服務器會發響應碼304,表示index.html與瀏覽器上次緩存的相
      同,無需再次發送,瀏覽器可以顯示自己的緩存頁面,如果比對不同,那麽說明index.html已經做了修
      改,服務器會響應200。

前端—http協議