web 原理及測驗 X-mind 思維導圖
點此下載

1. 網路基礎
- 1.1 網路應用軟體
- 1.2 網路典型架構
- 1.2.1 CS
- 1.2.2 BS 架構
- 1.2.3 CS 和 BS 區別
- 1-2.4 P2P 架構
- 1.3 網路結構
- 1.3.1 兩層架構
- 1.3.2 三層架構
- 1.3.3 三層架構-編程語言
2. web 概念
- Internet
- Intranet
- URL
- URI
- 代碼部署路徑
- DNS 域名服務器
3. web 協議
- 3.1 協議定義
- 3.2 OSI 參考模型
- 3.3 傳輸層與應用層的區別
- 3.4 資料格式
- 3.5 IP協議
- 3.6 TCP協議
- 3.7 UDP協議
- 3.8 TCP與UDP的區別
- 3.9 HTTP(s) 協議
- 3.9.1 定義
- 3.9.2 請求方法
- 3.9.3 HTTP 回應狀態碼
4. web 訪問步驟
5. web 會話
- 5.1 Cookie 餅干
- 5.2 Session 會話
- 5.3 Token 令牌
1. 網路基礎
1.1 網路應用軟體
(1) 定義
通過網路連接不同服務器、電腦、手機
實作軟硬體資源共享,用戶間資訊交換
(2)特點
分布式,整個軟體功能是由網路中的不同電腦以及其中的軟體聯合實作的
web / 客戶端-服務器互動實作功能
1.2 網路典型架構
1.2.1 CS 架構
1、定義
Client-Server:客戶端-服務器,三層結構,或兩層結構(現在少見)
2、優點
(1)互動性強
(2)回應速度快
(3)存取資料安全
(4)可實作復雜的業務流程
3、缺點
(1)需安裝占記憶體
(2)需考慮不同作業系統、電腦配置、手機機型的版本兼容
(3)開發和維護成本高
1.2.2 BS 架構
1、定義
Browser-Server:瀏覽器-服務器,三層結構
2、優點
(1)無需安裝
(2)維護、擴展業務方便
(3)開發成本低
3、缺點
(1)不能滿足個性化
(2)動態重繪頁面時,回應速度慢
(3)存取安全性較低
1.2.3 CS 和 BS 區別
1、負載:CS 負載大,BS 負載小
2、安全性:CS 安全性高,BS 安全性低
3、開發和維護成本:CS 成本高,BS 成本低
1.2.4 P2P 架構
1、定義
Peer to Peer:對等式網路,點對點技術
2、特點
無中心服務器,依靠用戶群互動資訊
3、應用
應用于檔案共享、網路視頻和通話
1.3 網路結構
1.3.1 兩層架構
1、客戶端
界面、程式邏輯、資源
2、服務器
資料庫系統存盤的資料
1.3.2 三層架構
三層架構:瀏覽器 - Web 客戶端 - 應用服務器 - 資料服務器
1、展現層
瀏覽器、客戶端:IE/Edge、Google、Firefox、Opera、NetScape、safari
Web 服務器:IIS、Apache、Nginx
2、應用層
編程語言 + 應用服務器,實作程式邏輯:java、python、PHP、.net、Tomcat、JBOSS、weblogic、websphere
3、資料層
資料服務器,資料庫存盤資料:Mysql、Oracle、SQLServer

1.3.3 三層架構-編程語言
1、瀏覽器:IE/Edge、Google、Firefox、Opera、NetScape、safari
2、web 服務器(接待):IIS、Apache、Nginx
3、應用服務器(邏輯):Tomcat、JBOSS、weblogic、websphere
4、資料服務器(資料):Mysql、Oracle、SQLServer
5、.net 語言架構:IIS、.net、Mysql/Oracle/SQLServer
6、java 語言架構:Apache/Nginx、Tomcat/JBOSS/weblogic/websphere + java、Mysql/Oracle/SQLServer
7、PHP 語言架構:Apache/Nginx、PHP、Mysql/Oracle/SQLServer
2. web 概念
1、Internet
International net:國際互聯網
WWW:World Wide Web,萬維網,頁面資訊服務
SMTP:簡單郵件傳輸協議
FTP:檔案傳輸協議
2、Intranet
Intranational net:局域網
3、URL:統一資源定位符
(1)URL 決議:協議型別:// 主機名:埠號 /(路徑 /)頁面檔案 ? URL 引數
(2)協議型別:HTTP、HTTPS 協議
(3)主機名:域名、IP 地址
(4)默認埠:80(HTTP) 、443(HTTPS)
4、URL 引數
單個引數:? 引數名=值
多個引數:? 引數名=值 & 引數名=值 & ...
5、URI:統一資源識別符號
6、代碼部署路徑
windows-xampp-apache:\xampp\htdocs
linux-apche:/var/www/html
linux-apache-tomcat:/tomcat/webapps
7、DNS 域名服務器:將域名與相對應的 IP 地址進行轉換

3. web 協議
3.1 協議定義
1、計算機之間交換資料時必須遵守的規則
2、傳輸層和應用層,用于定義計算機之間資料傳輸方式和資料格式
3.2 OSI 參考模型

OSI 參考模型
Open System Interconnect:開放式系統互聯,網路協議模型
ISO:國際化標準組織
IOS:蘋果作業系統
1、物理層:二進制傳輸
單位:位元流(Bit)
線纜:雙絞線、電纜、光纖、無線電波
設備:中繼器、集線器、調制解調器
2、鏈路層:資料分幀,介質訪問,物理尋址
單位:幀(Frame),1 Frame = 1500 Byte = 1500 * 8 bit = 1500 * 8 * 2 二進制
設備:網卡、交換機、網橋
查看 MAC 地址:cmd - ipconfig /all
3、網路層:路由選擇(最短),IP 尋址
單位:資料包(Package)
協議:IP 協議、ICMP、ARP、RARP
設備:網關、路由器
查看 IP 地址:cmd - ipconfig
測驗本機的 TCP/IP 協議是否正常作業:ping 127.0.0.1
4、傳輸層:行程間的連接
單位:資料段(Segment)
協議:TCP 協議、UDP 協議
5、會話層:主機間通信,訪問驗證,會話管理
6、表示層:資料表示,加解密,編解碼,解壓縮
7、應用層:訪問網路服務的介面
協議:Telnet(遠程登錄協議)、HTTP(s) 、FTP(檔案傳輸協議)、
SMTP(簡單郵件傳輸協議)、DNS(域名系統)、POP3
3.3 傳輸層與應用層的區別
1、傳輸層的 TCP 和 UDP 協議決定資料傳輸方式
2、應用層 HTTP(s) 協議定義資料格式
3、HTTP(s) 協議是基于 TCP 的短連接
3.4 資料格式
1、資料格式:在客戶端和服務器之間傳遞的資料訊息體格式
2、資料格式的主要型別:XML、JSON
- XML:Extensible Markup Language,可擴展標記語言
- JSON:JavaScript Object Notation,輕量級資料交換格式
JSON 在線工具:http://www.bejson.com
3.5 IP協議
IP 協議:Internet Protocol,國際互聯網協議,因特網互聯協議
TCP 和 UDP 都以 IP 資料包格式傳輸
特點:無連接,不可靠,網路層協議
3.6 TCP協議


1、TCP 協議:Transmission Control Protocol,傳輸控制協議
2、短連接
只完成一個事務即斷開連接,如 HTTP 頁面訪問
3、長連接
(1)可完成多個事務,需要心跳機制來維持連接狀態
(2)資料庫屬于長連接,會自動連接
(3)集群環境的主機間屬于長連接
(4)心跳包:維持連接不被斷開,相互檢測對方是否健康
解決集群服務器環境的問題:負載均衡、故障轉移
4、三次握手
(1)客戶端向服務器發送請求,申請建立連接
(2)服務器收到連接申請,向客戶端發送資訊,確認客戶端是否能收到服務器的回應資訊
(3)客戶端收到服務器的回應資訊,向服務器發送確認資訊,建立連接
5、四次揮手
(1)客戶端向服務器發送請求,申請釋放連接
(2)服務器收到斷開申請,向客戶端發送回應資訊,客戶端收到服務器的回應資訊,此時不能向服務器發送資訊報文,只能接收
(3)服務器沒有可傳資訊時,允許斷開,向客戶端發送回應資訊
(4)客戶端收到服務器的回應資訊,向服務器發送確認斷開資訊,等待兩個時間周期,連接關閉,服務器收到客戶端發來的確認斷開資訊后,進入關閉狀態
5、三次握手(建立連接)- 發送(心跳)請求 - 接收(心跳)請求 - 四次揮手(釋放連接)
特點:面向連接,三次握手,四次揮手
有序可靠,傳輸速度慢
傳輸層協議
3.7 UDP協議
1、UDP 協議:User Datagram Protocol,用戶資料報協議
2、型別
(1)單播,一對一
(2)多播,一對多
(3)廣播,一對所有,局域網
3、應用:直播,在線視頻,QQ、微信
4、特點:非面向連接,無序不可靠,會丟包,傳輸速度快
3.8 TCP與UDP的區別
1、TCP:面向連接,有序可靠,傳輸速度慢
2、UDP:非面向連接,無序不可靠,會丟包,傳輸速度快
3.9 HTTP(s) 協議
3.9.1 定義
1、HTTP 協議:Hyper Text Transfer Protocol,超文本傳輸協議
2、HTTPS 協議:Hyper Text Transfer Protocol over Secure Socket Layer
基于安全套接層(SSL)的 HTTP 協議
HTTP + SSL/TSL (TSL:傳輸層安全協議,為 SSL 升級版,標準化版)
3、特點:無連接、無狀態
無連接:每次連接只處理一個請求即斷開
無狀態:對事務處理沒有記憶能力
4、HTML:HyperText Markup Language,超文本標記語言
3.9.2 請求方法
GET 和 POST 的區別
1、get 向服務器請求資料,post 向服務器傳遞資料
2、get 引數放在 URL 后面,post 在訊息體中傳引數
3、get 沒有請求訊息體,post 將傳遞引數作為請求體
4、get 資料在瀏覽器快取,post 不會被快取
POST、PUT 和 PATCH 的區別
1、POST 可用于新增
2、PUT 用于更新全部資料,如更新表單中的所有欄位
3、PATCH 用于更新區域資料,如更新表單中的某個欄位
| 請求方法 | 描述 |
|---|---|
| get | 請求資料 |
| post | 傳遞資料 |
| head | 請求報頭 |
| put | 更新全部資料 |
| patch | 更新區域資料 |
| delete | 洗掉資料 |
| options | 查看服務器性能 |
| trace | 用于測驗診斷,回顯服務器收到的請求 |
| connect | 代理服務器 |
3.9.3 HTTP 回應狀態碼
1、1XX 臨時回應:100、101
100:收到部分請求,客戶端應繼續請求
101:服務端根據客戶端的請求切換協議
2、2XX 客戶端請求成功:200、201、202
200:請求成功,一般用于 get 和 post
201:成功請求并創建新資源
202:已接受請求但未處理
3、3XX 資源重定向:300、301、302、304、305
300:請求資源多個地址,回傳資源特征和地址串列
301:請求資源永久移動到新URL,回傳新URL
302:請求資源臨時移動
304:客戶端已快取訪問資源,所以不回傳任何資源
305:請求資源需通過代理訪問
4、4XX 客戶端請求錯誤:400、401、403、404
400:客戶端語法錯誤
401:無授權,請求要求用戶身份認證,如未登錄
403:禁止訪問,服務器理解請求但拒絕執行,如普通用戶沒有訪問某些頁面的權限
404:服務器找不到資源,資源可能失效(被洗掉、移動或修改)
5、5XX 服務器錯誤:500、502、503
500:服務器內部錯誤
502:錯誤網關,代理服務器從遠端服務器收到無效請求,
如 tomcat 沒有啟動起來,行程埠沖突的問題
503:服務不可用,系統維護或超載,如 tomcat 超時
| 1XX | 臨時回應 |
|---|---|
| 100 | Continue,繼續,收到部分請求,客戶端應繼續請求 |
| 101 | Switching Protocols,切換協議,服務端根據客戶端的請求切換協議 |
| 2XX | 請求成功 |
|---|---|
| 200 | OK,請求成功,一般用于 get 和 post |
| 201 | Created,已創建,成功請求并創建新資源 |
| 202 | Accepted,已接受,已接受請求但未處理 |
| 203 | Non-Authoritative Information,非授權資訊,回傳其他源的資訊 |
| 204 | No Content,無內容,請求成功但不回傳內容,頁面未更新可保持當前頁面 |
| 205 | Reset Conten,重置內容 ,請求成功并重置頁面內容,通過回傳碼重置表單 |
| 206 | Partial Content,部分 get,請求成功并處理部分 get 請求 |
| 3XX | 資源重定向 |
|---|---|
| 300 | Multiple Choices,多選擇,請求資源多個地址,回傳資源特征和地址串列 |
| 301 | Moved Permanently,永久移動,請求資源永久移動到新URL,回傳新URL,之后所有請求都會自定向到新URL |
| 302 | Found,臨時移動,請求資源臨時移動,客戶端應繼續使用原URL |
| 303 | See Other,查看其他地址,GET 或 POST |
| 304 | Not Modified,未修改,客戶端快取訪問資源,請求資源未修改,不回傳任何資源 |
| 305 | Use Proxy,使用代理,請求資源需通過代理訪問 |
| 307 | Temporary Redirect,臨時重定向,GET 重定向 |
| 4XX | 請求錯誤 |
|---|---|
| 400 | Bad Request,語法錯誤,服務器無法理解 |
| 401 | Unauthorized,未授權,請求要求用戶身份認證 |
| 403 | Forbidden,拒絕執行,服務端理解請求但拒絕執行 |
| 404 | Not Found,未找到,服務器找不到請求資源 |
| 405 | Method Not Allowed,方法禁用,客戶端請求方法被禁止 |
| 406 | Not Acceptable,不接受,服務器無法完成要求 |
| 407 | Proxy Authentication Required,未授權,請求需要代理的身份認證, |
| 408 | Request Time-out,請求超時,客戶端發送請求時間過長 |
| 409 | Conflict,請求沖突,PUT |
| 410 | Gone,已洗掉,請求資源不存在 |
| 411 | Length Required,需有效長度,請求需帶 Content-Length 資訊 |
| 412 | Precondition Failed,未滿足前提條件,請求前提條件錯誤 |
| 413 | Request Entity Too Large,請求物體過大,無法處理,暫時無法處理會回傳 Retry-After |
| 414 | Request-URL Too Large,請求URL過長,無法處理 |
| 415 | Unsupported Media Type,不支持媒體型別,無法處理請求附帶的媒體格式 |
| 416 | Requested Range No Satisfiable,客戶端請求范圍無效 |
| 417 | Expectation Failed,未滿足期望值,服務器無法滿足 Expect 請求頭資訊 |
| 418 | 請求超時,客戶端發送請求時間過長 |
| 5XX | 服務器錯誤 |
|---|---|
| 500 | Internal Server Error,服務器內部錯誤 |
| 501 | Not Implemented,服務器不支持請求方法 |
| 502 | Bad Getaway,錯誤網關,代理服務器從遠端服務器收到無效請求 |
| 503 | Service Unavailable,服務不可用,系統維護或超載 |
| 504 | Gateway Time-Out,網關超時,代理服務器未及時從遠端服務器獲取請求 |
| 505 | HTTP Version Not Supported,HTTP協議不受支持,服務器不支持請求的HTTP協議版本 |
4. web 訪問步驟
1、輸入域名網址,或本地(localhost 或 127.0.0.1)、其他 IP
2、瀏覽器取出域名,通過 DNS 域名服務器,查詢對應的 IP 地址
3、瀏覽器獲取埠號,發起連接請求:IP + 埠
4、連接成功,瀏覽器向服務器發送頁面請求:HTTP GET 報文
5、瀏覽器收到服務器的回應:HTTP 回應報文,根據 HTML、CSS、JS 的順序加載頁面
6、斷開連接
5. web 會話
5.1 Cookie 餅干
1、全域變數,存在有效期
2、服務器發送給客戶端,將 cookie 存放在客戶端
3、cookie 中裝有 sessionId(請求憑證)
4、cookie 型別
(1)臨時/會話 cookie
不設定過期時間,生命周期為瀏覽器會話期間,關閉瀏覽器,cookie 失效
(2)永久 cookie
設定了過期時間,Cookie 一直保存在本地,直到超過設定的過期時間
5、缺點:cookie 不安全,會泄露個人隱私
5.2 Session 會話
1、全域變數,存在有效期
2、客戶端的 cookie 中裝有 sessionId(請求憑證)
3、session 在服務器的 session 表中存放
4、客戶端發送請求憑證 sessionId -> 服務器會話串列匹配 session
5、客戶端發送 cookie 給服務器時,決議出 sessionId,然后在 session 表中查找是否存在該 session
4、缺點:session 會占用服務器資源
5.3 Token 令牌
1、無狀態
2、服務器發送給客戶端,將 token 存放在客戶端
3、token 組成:uid(用戶唯一標識)+ time(時間戳)+ sign(簽名)加密
4、密鑰由服務器保管
5、客戶端每次發送請求都帶上 token,服務器通過密鑰解密 token
判定 token 是否存在和被修改,回傳相應的回應資訊
6、有點:同時解決 cookie 不安全和 session 占用服務器資源的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/279966.html
標籤:其他
上一篇:集群(一)——LVS負載均衡集群
