http那些事:http\http2\https

CSS Origin 科技 瑪雅科技 2017-06-13

http簡介

  • HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。。

  • HTTP是一個基於TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)。

http工作原理和 headers

HTTP協議工作於客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。

Web服務器有:Apache服務器,IIS服務器(Internet Information Services)等。

Web服務器根據接收到的請求後,向客戶端發送響應信息。

HTTP默認端口號為80,但是你也可以改為8080或者其他端口。

  • HTTP是無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間。

  • HTTP是媒體獨立的:這意味著,只要客戶端和服務器知道如何處理的數據內容,任何類型的數據都可以通過HTTP發送。客戶端以及服務器指定使用適合的MIME-type內容類型。

  • HTTP是無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。

HTTP請求頭

--Host:初始URL中的主機和端口

--Accept:瀏覽器可接受的MIME類型

--Accept-Charset:瀏覽器可接受的字符集

--Accept-Encoding:瀏覽器能夠進行解碼的數據編碼方式,比如gzip。

--Accept-Language:瀏覽器所希望的語言種類

--Connection:表示是否需要持久連接。

--Content-Length:表示請求消息正文的長度。

--Cookie:Cookie字符串 --Referer:包含一個URL,用戶從該URL代表的頁面出發訪問當前請求的頁面。

--User-Agent:瀏覽器類型,如果Servlet返回的內容與瀏覽器類型有關則該值非常有用。

HTTP響應頭

--Access-Control-Allow-Origin: 指定哪些站點可以參與跨站資源共享

--Content-Length: 響應體的字節長度

--Content-Type: 設置響應體的MIME類型

--Date: 消息發送的日期和時間

--Server: 服務器名稱

--Set-Cookie: 設置HTTP Cookie

--Transfer-Encoding 設置傳輸實體的編碼格式,目前支持的格式: chunked, compress, deflate, gzip, identity

http方法

GET 用於獲取數據

HEAD 與GET請求的響應相同的響應,但沒有響應體

POST 用於將實體提交到指定的資源,通常導致狀態或服務器上的副作用的更改

PUT 用於創建或更新指定資源

DELETE 刪除指定的資源

http2

  • HTTP2.0時代不再需要的優化 --多域名突破連接數限制 --資源合併(js/css合併,css sprites,內嵌base64圖片)

  • HTTP2.0的請求優先級 --因為資源是混合發送的,所以對不同的資源要設置優先級,保證js/css優先發送,圖片後發送

  • HTTP2.0首部壓縮

  • HTTP2.0推送

https

相關推薦

推薦中...