HTPP協議原理
用戶訪問網站的過程
1.利用DNS服務,將輸入的域名解析成相對應的IP地址(DNS解析原理)
1.1:本地主機輸入域名後,會查詢本地緩存信息和本地hosts
1.2:本地主機會向遠程LDNS服務器,發送遞歸查詢請求
1.3:LDNS是網卡配置的DNS服務(223.5.5.5 114.114.114.114)
1.4:LDNS服務器會向根域名服務器發出請求,將請求響應給LDNS服務器
1.5:LDNS服務器會向頂級域名服務器發出請求,將請求響應給LDNS服務器
1.6:LDNS服務器會向二級域名服務器發出請求,將請求響應給LDNS服務器
1.7:LDNS服務器收到二級域名服務器響應過來的信息(解析記錄),進行本地緩存將解析記錄發送給本地主機
1.8:本地主機收到LDNS服務器的響應信息,也會將解析記錄進行緩存,利用IP地址訪問網站服務器
2.利用已知的IP地址,進行三次握手鍊接創建
3.本地主機客戶端向網站服務端,發出請求http請求數據包(http請求報文)
4.網站服務端向本地主機客戶端,回覆響應 http響應數據包(http響應報文)
5.完成網絡四次揮手斷開過程
http通信原理說明
http請求報文(request message)的組成:
1.請求行:
1.1 請求方法:post與get方法
1.2 請求協議:http協議的版本(1.0:、1.一、2.0)
http1.0:屬於TCP短鏈接
http2.0:屬於TCP長鏈接
2.請求頭:主要發一些與客戶端相關的信息,如訪問的瀏覽器版本,訪問些什麼格式的數據等
3.空行:隔離上下文,說明請求頭部結束
4.請求主體:get方法與POST方法
ps:get方法是沒有請求主體內容,post方法纔會有請求主體內容
http響應報文的組成:
1.起始行:存放響應的狀態碼/狀態信息
2.響應頭:存放服務端有關的信息
3.空行:隔離上下文,說明響應頭部結束
4.響應主體:請求後進行響應返回的內容信息
http常見狀態碼與對應的做用
狀態碼 |
做用 |
200 - OK |
服務器成功返回網頁,這是HTTP請求返回的標準狀態碼 |
301-Moved Permanently |
永久跳轉,所請求的網頁將永久跳轉到被設定的新位置 |
302 |
臨時跳轉 |
403 - Forbidden |
禁止訪問,雖然這個請求是合法的,可是服務器端由於匹配預先設置的規則而拒絕響應客戶端的請求,此類問題通常爲服務器或服務權限配置不當 |
404 - Not Found |
服務器找不到客戶端指定的頁面,多是客戶端請求了不存在的資源所致 |
500 - Internal Server Error |
內部服務器錯誤,通常爲服務器的設置或內部程序問題所致,例:如開啓了selinux,而又沒有爲http設置規則許可,則會報500錯誤 |
502 - Bad Gateway |
壞的網關,通常是代理服務器請求後端服務時,後端服務不可用或沒有完成響應網關服務器,這一般爲反向代理服務器下面的節點所致,反向代理服務器沒法與後端web服務節點服務器創建聯繫 |
503 - Service Unavailable |
服務當前不可用,多是服務器超載或停機維護所致,或者是反向代理服務器後面沒有可用的服務節點 |
504 - Gateway Timeout |
網關超時,通常是網關代理服務器請求後端服務時,後端服務沒有在特定的時間完成處理請求。多數是服務器過載致使沒有在指定的時間返回數據給前端代理服務器 |
HTTP協議資源說明
1.媒體資源類型
web服務能夠處理接收的資源類型(text/html css jpg avi)
通常在web服務軟件程序中,會有一個文件來定義媒體資源類型(mime.type)
2.URL與URI
URL:表示統一資源定位符
URI:表示統一資源標識符
例:baidu.com/index.html
URL URI
3.靜態文件資源的特徵
1)每一個頁面都有一個固定的URL地址,且URL通常以.html、.htm、.shtml等常見形式爲後綴,並且地址中不含有問號「?」或「&」等特殊符號。
2)靜態網頁是實實在在保存在服務器上的文件實體,每一個網頁都是一個獨立的文件。
3)網頁內容是固定不變的,所以,容易被搜索引擎收錄(容易被用戶找到)(優勢)。
4)由於網頁沒有數據庫的支持,因此在網站製做和維護方面的工做量較大,當網站信息量很大時,徹底依靠靜態網頁比較困難(缺點)。
5)網頁的交互性較差,在程序的功能實現方面有較大的限制(缺點)。
6)網頁程序在用戶瀏覽器端解析,如IE瀏覽器,程序解析效率很高,因爲服務器端不進行解析,而且不須要讀取數據庫,所以服務器端能夠接受更多的併發訪問。當客戶端向服務器請求數據時,服務器會直接從磁盤文件系統上返回數據(不作任何解析)。待客戶端拿到數據後,在瀏覽器端解析並展示出來(優勢)。
4.動態文件資源
1)網頁擴展名後綴常見爲:.asp、.aspx、.php、.js、.do、.cgi等。 ※
2)網頁通常以數據庫技術爲基礎,大大下降了網站維護的工做量。
3)採用動態網頁技術的網站能夠實現更多的功能,如用戶註冊、用戶登陸、在線調查、投票、用戶管理、訂單處理、發博文等。
4)動態網頁並非獨立存在於服務器上的網頁文件,當用戶請求服務器上的動態程序時,服務器解析這些程序並可能經過讀取數據庫來返回一個完整的網頁內容。
5)動態網頁中的「?」在搜索引擎的收錄方面存在必定的問題,搜索引擎通常不會從一個網站的數據庫中訪問所有網頁,或者出於技術等方面的考慮,搜索蜘蛛通常不會去抓取網址中「?」後面的內容,所以在企業經過搜索引擎進行推廣時,須要針對採用動態網頁的網站作必定的技術處理(僞靜態技術),以便適應搜索引擎的抓取要求。
5.僞靜態文件資源
1.根本實質仍是動態資源,將動態資源假裝成靜態
2.動態不便於搜索引擎收錄 響應速度較慢
網站度量的統計方法
1. IP(獨立IP),即Internet Protocol,這裏指獨立IP數,獨立IP數是指不一樣IP地址的計算機訪問網站時被計的總次數
2. PV(訪問量)即Page View,中文翻譯爲頁面瀏覽,即頁面瀏覽量或點擊量,無論客戶端是否是相同,也無論IP是否是相同,用戶只要訪問網站頁面就會被計算PV
3. UV(獨立訪客)即Unique Visitor,同一個客戶端(PC或移動端)訪問網站被計爲一個訪客。一天(00:00-24:00)內相同的客戶端訪問同一個網站只計一次UV
cookie:標識用戶主機身份信息