天天看點

+++++++HTTP進階之HTTP協定基礎

URL簡述

相對URL 從目前頁面

絕對URL 從目前頁面或其他頁面跳轉而來

HTTPD版本<0.9文本><1.0,method,mime,弱緩存><1.1持久連接配接><2.0,mime,spdy,緩存,method>

HTTPD特性:無狀态、文本編碼協定<telnet, curl, enlinks>

追蹤使用者來源的機制:cookie(重cookie,輕cookie),session

Cookie分類

Cookie工作機制: 随機數惟一辨別使用者

輕cookie應用: 資料結構儲存cookie與session的映射

HTTP事務: 一次請求和響應

事務中繼資料: headers

實體: entity-body

HTTP請求響應封包詳解:

<method> <url> <version>

<header>

...

空1

空2

<entity-body>

<version> <status> <reason-phrase>

100資訊

200 OK 成功

301 Moved Permantly 永久 302 Found 臨時 304 Not Modified 條件

401 WWW-Authenticate 質詢認證 403 Forbidden 沒有權限通路 404 Not Found 沒有資源 

500 Internal Server Error 服務内部錯誤  502 Bad Gateway 錯誤網關

URL Uniform Resource Locator 辨別每個資源的位置 URL是URI的子集

+++++++HTTP進階之HTTP協定基礎
+++++++HTTP進階之HTTP協定基礎

相對URL:相對目前頁面的URL,(相對路徑:由目前工作目錄起始的路徑)

絕對URL:用于跨站引用或目前頁面,(絕對路徑:由/起始的路徑)

HTTPD版本 

+++++++HTTP進階之HTTP協定基礎
HTTPD特性
+++++++HTTP進階之HTTP協定基礎
追蹤使用者來源的機制
+++++++HTTP進階之HTTP協定基礎
Cookie工作方式
+++++++HTTP進階之HTTP協定基礎

二次通信: 

伺服器 接收随機數(令牌) <-- 用戶端  将通路的伺服器首次所發的令牌發給伺服器,用于标明自己的身份

+++++++HTTP進階之HTTP協定基礎
Session:<輕cookie:減小隐私資訊丢失的可能性>,在伺服器端在程序記憶體中維護Session
+++++++HTTP進階之HTTP協定基礎

HTTP事務 一次httpd請求和響應

事務中繼資料:(起始行+headers)

實體:entity-body部分

HTTP請求響應封包詳解

+++++++HTTP進階之HTTP協定基礎
請求封包
+++++++HTTP進階之HTTP協定基礎
響應封包
+++++++HTTP進階之HTTP協定基礎
method 用戶端告訴伺服器做什麼
+++++++HTTP進階之HTTP協定基礎
+++++++HTTP進階之HTTP協定基礎
+++++++HTTP進階之HTTP協定基礎
+++++++HTTP進階之HTTP協定基礎
+++++++HTTP進階之HTTP協定基礎

status code 伺服器告訴用戶端結果

reason-phrase  原因短語

+++++++HTTP進階之HTTP協定基礎

反向代理:将自己扮演為服務端接收請求,支援緩存,拆封封包并重新封裝

正向代理:将自己扮演為用戶端發起請求

重定向

+++++++HTTP進階之HTTP協定基礎
條件式請求
+++++++HTTP進階之HTTP協定基礎
使用者質詢認證
+++++++HTTP進階之HTTP協定基礎

Forbidden 請求被禁止,IP控制或使用者通路控制不通過時

404 使用者請求一個不存在的資源 

錯誤網關:

+++++++HTTP進階之HTTP協定基礎

headers 請求和響應首部: 标記請求或響應的屬性 , 事務交換的中繼資料資訊

負載均衡排程時,可以根據首部排程

1、首部可以有多個

2、首部的格式:Directive: value

首部分類

+++++++HTTP進階之HTTP協定基礎
通用首部
+++++++HTTP進階之HTTP協定基礎

請求首部

自己可接受的特性

+++++++HTTP進階之HTTP協定基礎
條件式請求首部: 緩存相關
+++++++HTTP進階之HTTP協定基礎
安全請求首部
+++++++HTTP進階之HTTP協定基礎
代理請求首部
+++++++HTTP進階之HTTP協定基礎
響應首部
+++++++HTTP進階之HTTP協定基礎
實體首部
+++++++HTTP進階之HTTP協定基礎
示例

General
	Request URL:http://172.16.100.1/          
	Request Method:GET
	Status Code:200 OK
	Remote Address:172.16.100.1:80                   //伺服器位址 
Response Headers
view source
	Accept-Ranges:bytes                                          
	Connection:close                                 // 伺服器是非持久連接配接 KeepAlive off
	Content-Encoding:gzip                            // 實體格式:字元集,包含多種語言編碼格式
	Content-Length:7725                              // 大小
	Content-Type:text/html; charset=UTF-8            // 類型
	Date:Sat, 09 Sep 2017 12:30:15 GMT               // 請求封包的建立時間
	ETag:"10c-6353-558c0da6c3922"                    // 實體的額外标簽,基于标簽的條件式請求
	Last-Modified:Sat, 09 Sep 2017 12:30:05 GMT      // 實體最近一次修改的時間    
	Server:Apache/2.2.15 (CentOS)                    // 伺服器程式名、版本号
	Vary:Accept-Encoding                             // 伺服器檢視變化的首部
Request Headers
view source
	Accept:text/html,application/xhtml+xml,applicat // 用戶端可接受的MIME類型
	Accept-Encoding:gzip, deflate, sdch             // 用戶端可接受的壓縮格式    
	Accept-Charset:                                 // 字元集               
	Accept-Language:zh-CN,zh;q=0.8                  // 用戶端可接受的語言編碼格式
	Cache-Control:max-age=0                         // 緩存控制
	Connection:keep-alive                           // 
	Host:172.16.100.1                               // 伺服器主機                  
	User-Agent:Mozilla/5.0 				// 使用者代理      

繼續閱讀