前言:web
若是學校要求大家必須考二級而你又不想去考簡單的office怎麼辦?服務器
或許web是一個不錯的選擇markdown
HTTP協議又稱超文本傳輸協議,屬於TCP/IP協議簇中的應用層網絡
簡介一下TCP/IP協議簇
應用層
決定了向用戶提供服務時通訊的活動 HTTP協議就在這一層,與其同層的有FTP(文件傳輸協議),DNS(域名系統)等網站
傳輸層
爲網絡鏈接中的兩臺計算機之間提供數據傳輸 在這一層有兩個性質不一樣的協議:TCP(傳輸控制協議)和UDP(用戶數據報協議)spa
網絡層
規定了傳輸路線的路徑(或者說是選擇),並傳送數據,用來處理網絡上流動的數據包(網絡傳輸最小數據單位)3d
鏈路層
用來處理連接網絡的硬件部分,囊括全部的硬件,又名網絡接口層code
在數據傳輸時,利用封裝的方法,在HTTP數據通過發送端每一層時打上該層的首部消息,通過接收端時又逐層消去orm
就像咱們郵寄快遞,寄件人在某縣某市某省送出去,收件人在某省某市某縣接收同樣接口
其做用是把各類數據包傳送給對方,傳送時要知足各種條件,最重要的兩個是IP地址和MAC地址
IP地址指明節點被分配到的地址,MAC地址指網卡所屬的固定地址
IP地址能夠和MAC地址進行配對,前者可變換,後者基本不會
一種用以解析地址的協議,能夠根據通信方的IP地址反查出對應的MAC地址
由於IP之間的通訊依賴MAC地址,而通訊雙方在同一個局域網的狀況很小,通常要通過多臺計算機和網絡設備中轉才能鏈接到,而中轉時,會利用下一站中轉設備的MAC地址來搜索下一個中轉目標
傳輸的中轉過程對於路由器和計算機來講是粗略的,不管誰都沒法全面掌握互聯網中的細節,就像你的快遞的運輸細節咱們沒法掌握
TCP位於傳輸層,提供可靠的字節流服務,可以確認數據最終是否送到對方
將大塊數據分割成以"報文段"爲單位的數據包進行管理傳輸
採用"三次握手策略"
three-way handshaking:
- 發送端發送給對方一個SYN標誌的數據包
- 接收端回傳一個SYN/ACK標誌的數據包
- 發送端再發送一個ACK的數據包表示握手結束
若是握手中斷,TCP會再次發送相同數據包
DNS可讓咱們經過域名查找IP地址,或反向從IP地址查找域名
計算機既能夠被賦予IP地址,也能夠被賦予主機名和域名
咱們一般都使用這兩個來訪問其餘計算機,而不是IP地址,由於前者更符合咱們的記憶習慣,可是計算機更擅長處理數字(懂吧)
URL屬於URI集合
URI用字符串標識某一(互聯網上)資源,而URL表示資源的地點
URI就是由某個協議方案表示的資源的定位標識符。
採用HTTP協議時,協議方案就是HTTP
標準的URI協議方案有30種左右,有專門的機構進行管理
想要表示指定的資源URI,要使用絕對URI(涵蓋所有必要信息),絕對URL和相對URL
相對URL,是指從當前位置到URI的路徑
格式名稱 | 名詞解釋 |
---|---|
① 登陸信息 | 指定用戶名和密碼做爲從服務器獲取資源時必要的登陸信息,可選項(你得讓服務器知道你是誰) |
② 服務器地址 | 地址是DNS可解析的名稱,或IPv4地址名和IPv6地址名(你得知道服務器在哪) |
③ 服務器端口號 | 指定服務器鏈接的網絡端口號,可選項,省略會使用默認端口號(你得知道從哪進) |
④ 帶層次的文件路徑 | 知道服務器上的文件路徑來定位特指的資源(你得知道資源文件再服務器上怎麼找) |
⑤ 查詢字符串 | 對已經指定路徑的資源,使用查詢字符串傳參來尋找想要的部分資源,可選項(開始進入搜索正題) |
⑥ 片斷標識符 | 標記出已獲取資源中的子資源,標記子資源的位置,可選項(找到並標記地點) |
HTTP協議用於客戶端和服務器之間,若是是兩臺計算機的話,做爲客戶端和服務器端的角色可能會互換,可是就通訊線路來講,HTTP協議是可以區分哪一個是服務器哪一個是客戶端的
因此,請求一定由客戶端發送,,服務器在收到請求以前不會自主響應
請求報文是由請求方法,請求URI,協議版本,可選的請求首部字段和內容實體構成的
這段請求的意思是:請求訪問某臺HTTP服務器上的/form/entry頁面資源
從第二行開始是建立響應的日期時間,是首部字段內的一個內容
下一行空格分行,接下來就是資源實體的主體
HTTP是一個無狀態協議,對發送和響應過的請求都不作持久化處理,所以能夠更快地處理大量事物
可是當你在一個網站登錄某帳號時,跳轉到該網站其餘網頁時,也仍舊要保持登錄狀態,那保存登錄狀態怎麼辦
因而就出現了Cookie技術來管理狀態