1. 程式人生 > >JS丨基礎考察05丨HTTP協議類

JS丨基礎考察05丨HTTP協議類

01. HTTP協議的主要特點、報文組成、請求方法

<script type="text/javascript">
	01. HTTP協議的主要特點
		01. 簡單快速、靈活
		02. 無連線:  建立連線完成傳輸後就會斷掉;
		03. 無狀態:  不能區分多次連線的身份;
	
	
	02. HTTP報文的組成部分
		01. 請求報文: 請求行、請求頭、空行、請求體
			01. 請求行: 包含HTTP方法、頁面地址、HTTP協議、版本
			02. 請求頭: key值 / 空行: 分割請求頭與請求體 / 請求體: 
		
		02. 響應報文: 狀態行、響應頭、空行、響應體
			01. 狀態行: 包含HTTP方法、頁面地址、HTTP協議、版本
			02. 響應頭: key值  / 響應頭: 分割請求頭與請求體 /  響應體: 文件部分
	
	
	03. HTTP方法
		01. GET(獲取資源) / POST(傳輸資源)
		02. PUT(更新資源) / DELETE(刪除資源)
		03. HEAD(獲得報文首部)
		
</script>

02. POST與GET的區別

 03. HTTP狀態碼

 04. 什麼是HTTP持久連線及管線化

<script type="text/javascript">
	06. 什麼是HTTP持久連線: 
		01. 條件 
			HTTP是支援 持久連線的, 前提是1.1版本的, 1.0版本不支援
		
		02. 特徵: HTTP協議採用'請求-應答'模式, 
			01. 當使用普通模式, 即非Keep-Alive模式時,
				每個請求/應答 客戶端和伺服器都要建立一個新連線,完成後立即斷開連線(HTTP為無效協議)
			02. 當使用Keep-Alive模式時, 
				Keep-Alive 功能使客戶端到伺服器端的連線持續有效, 
				當出現對伺服器的後繼請求時, Keep-Alive 功能避免了建立或者重新建立連線
	
	
	07. 管線化
		01. 概念
			在使用持久化連線的情況下, 某個連線上訊息的傳遞類似於
				請求1->響應1 -> 請求2->響應2 -> 請求3->響應3
			
			某個連線上的訊息變成了類似這樣
				請求1->請求2->請求3 -> 響應1->響應2->響應3
		
		02. 重點
			01. 管線化機制 通過 持久連線 完成,僅HTTP/1.1支援此技術;
			02. 只有GET和HEAD請求可以進行管線化, 而POST則有所限制;
			
			03. 初次建立連線時, 不應啟動管線化機制, 因為伺服器不一定支援HTTP/1.1版本的協議;
			04. HTTP/1.1版本 要求伺服器支援管線化, 但不要求伺服器端也對響應進行管線化, 只要管線化請求不失敗;
			
			05. 由於:
					伺服器不一定支援HTTP1.1版本, 開啟管線化並不會帶來大幅度的效能提升,
					很多伺服器和代理程式對管線化的支援並不好,
				所以:
					Chrome與Firefox預設不開啟管線化支援
</script>