一. HTTP協議
- http協議分爲兩個部分:
- 其中請求方式又分爲 GET 和 POST
請求頭字段中:
- 第一行:請求方式 url 協議版本
- 實例:
- get /path?a=1&b=2 http1.1 這裏是不帶域名的url 即http協議源碼格式 (在後面的host裏說明了域名)
- host(主機):www.baidu.com
- Connection(鏈接方式):keep-alive 長鏈接
- user-Agent : 客戶端 用來記錄本身是什麼瀏覽器的
響應頭字段中:
- 響應頭第一行:協議版本 狀態碼 message(信息)
- 以後也都是屬性和值的字段
- 實例:
- Cache-Control:max-age = 86400 信息緩存保留的時間
二. IP地址
- Ip地址的格式
- Ip地址分爲四個段,每一個段0~255,每一個段都是由8個0、1組成的
- Ip地址的分類:
- 一個Ip地址分爲兩個部分:網絡Id,主機Id
- A類 0.0.0.0-127.255.255.255 (一個網絡能有1600+萬臺)
- B類 128.0.0.0~191.255.255.255
- C類 192.0.0.0~223.255.255.255 (能容納較少)
- D類 多播地址
- E類
- 在同一個網絡內,IP地址不能重複
- 若是你想搭建一個服務器,讓別人可以訪問到,就必須有一個公網Ip
三. GET與Post請求的區別
- 要看是基於什麼前提的,若什麼前提都沒有,不使用任何規範,只考慮語法和理論上的http協議,get和post幾乎沒有任何區別,只有名字不同而已
- 若是是基於RFC規範的
- 理論上的(specification) --- get和post是具備相同的語法的,可是有不一樣的語義,get是用來獲取數據的,post是用來發送數據的,其餘方面沒有區別
- 實現上的(implementation) --- 各類瀏覽器,就是這個規範的實現者
就是由於基於瀏覽器實現上的,因此有了各類不一樣:
1)GET數據在URL上是可見的,post請求不顯示在url上的
2)get請求對長度是有限制的,post長度是無限的
3)get請求的數據能夠收藏爲書籤,post請求到的數據不可收藏爲標籤
4)get請求後,按後退按鈕/刷新按鈕無影響,post數據會被從新提交
5) get編碼類型 : application/x-www-form-url,
post的編碼類型:有不少種encodeapplication/x-www-form-urlencoded 或 multipart/form-data
6) get歷史參數會被保留在瀏覽器裏,post不會保存在瀏覽器中
7)get只容許ASCII post沒有編碼限制,容許發二進制的
8)get與post相比,get的安全性較差,由於所發的數據是URL的一部分
複製代碼