簡單介紹
- HTTP的介紹
HTTP(HyperText Transfer Protocol)協議是基於TCP的應用層協議,它不關心數據傳輸的細節,主要是用來規定客戶端和服務端的數據傳輸格式,最初是用來向客戶端傳輸HTML頁面的內容。默認端口是80。- HTTPS和HTTP協議的區別
HTTPS是HTTP協議的安全版本,HTTP協議的數據傳輸是明文的,是不安全的,HTTPS使用了SSL/TLS協議進行了加密處理。
HTTP的特點
- HTTP協議是無狀態的 就是說每次HTTP請求都是獨立的,任何兩個請求之間沒有什麼必然的聯繫。但是在實際應用當中並不是完全這樣的,引入了Cookie和Session機制來關聯請求。
- 多次HTTP請求 在客戶端請求網頁時多數情況下並不是一次請求就能成功的,服務端首先是響應HTML頁面,然後瀏覽器收到響應之後發現HTML頁面還引用了其他的資源,例如,CSS,JS文件,圖片等等,還會自動發送HTTP請求這些需要的資源。現在的HTTP版本支持管道機制,可以同時請求和響應多個請求,大大提高了效率。
- 基於TCP協議 HTTP協議目的是規定客戶端和服務端數據傳輸的格式和數據交互行爲,並不負責數據傳輸的細節。底層是基於TCP實現的。現在使用的版本當中是默認持久連接的,也就是多次HTTP請求使用一個TCP連接。
傳輸方法
- GET:獲取資源 GET方法用來請求訪問已被URI識別的資源。也就是指定了服務器處理請求之後響應的內容。
- POST:傳輸實體主體 POST方法用來傳輸實體主體。POST與GET的區別之一就是目的不同,二者之間的區別會在文章的最後詳細說明。雖然GET方法也可以傳輸,但是一般不用,因爲GET的目的是獲取,POST的目的是傳輸。
- 其他暫且不論,需要自行百度
GET和POST的區別
A. 從字面意思和HTTP的規範來看,GET用於獲取資源信息而POST是用來更新資源信息。
B. GET提交請求的數據實體會放在URL的後面,用?來分割,參數用&連接,舉個栗子:/index.html?name=wang&login=1
C. GET提交的數據長度是有限制的,因爲URL長度有限制,具體的長度限制視瀏覽器而定。
而POST沒有。
D. GET提交的數據不安全,因爲參數都會暴露在URL上。