<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>網絡協議</title>
<style> * { margin: 0; padding: 0; } body, html { height: 100%; } body { align-items: center; background: #642b73; background: -webkit-gradient(linear,left top,left bottom,from(#c6426e),to(#642b73)); background: -webkit-linear-gradient(top,#c6426e,#642b73); background: linear-gradient(180deg,#c6426e,#642b73); display: flex; font-family: Open Sans,sans; justify-content: center; overflow: hidden; -webkit-perspective: 1800px; perspective: 1800px; text-align: center; margin: 0 20px; flex-flow: column; font-size: 16px; } h1, h2 { color: #fff; } h1 { font-size: 30px; line-height: 40px; } h2 { font-size: 24px; line-height: 36px; } .margin-bottom { margin-bottom: 12px; } </style>
</head>
<body>
<h1 class="margin-bottom">你好,世界</h1>
<script> window.onload = render('h2', '你好,網絡協議'); function render(tag, tagContent) { const body = document.body; const tagWrap = document.createElement(tag); const tagNode = document.createTextNode(tagContent); tagWrap.append(tagNode); body.append(tagWrap) } </script>
</body>
</html>
複製代碼
這是一個很簡單的靜態頁面(加點 css、js ),這是一個前端向計算機表達的方式,這也是一種協議,是人類和計算機溝通的方式。因此說協議是人類和計算機溝通的一些交流規則。javascript
有個事情你的認同下接近人類語言計算機不能直接讀,計算機能直接讀的人類頭髮要光頭。因此,因此須要中間找個代理來翻譯下,這就是編譯器(compile)。編譯原理涉及到語義、語法、語序。css
啓服務html
// notes/0.0.1
sudo npm install http-server -g
http-server -p 8000
複製代碼
請求格式規則(控制檯)前端
拿某寶購物並下單這件小事(手機比劃幾下就搞定了)來講java
知道目標地址(拿到 ip)後,瀏覽器開始打包請求(請求頭、請求行、請求體)。普通請求使用 HTTP 協議,對於購物須要用到加密傳輸就使用 HTTPS 協議。對於購物來講,都須要在寫清楚買什麼、買多少。其中 DNS、HTTP、HTTPS 所在的層是應用層。web
應用層封裝後,瀏覽器將應用層的包交給下一層(傳輸層),經過 socket 編程實現。npm
傳輸層有 2 種協議編程
TCP 協議有 2 個端口,瀏覽器監聽的端口和電商應用服務器監聽的端口(如圖)。操做系統一般是經過端口來判斷接收到的包接下來給哪一個進程。應用層到傳輸層再到網絡層都是瀏覽器提供支持。瀏覽器
傳輸層封裝後,瀏覽器又會將包交給操做系統的網絡層。網絡層有 IP 協議,這個協議裏有源 IP 地址服務器
操做系統拿到目標 IP 地址後會通過網關(電商服務器和你的電腦不在一塊)。這裏網關默認 IP 地址是 192.168.1.1,這是操做系統啓動時 DHCP 協議(應用層)配置的,同時也配置 IP 地址(你的電腦)。
一般 IP 地址(本國)和目標 IP 地址(國外)不在一個網段(確定不是一個國家嘛),這個時候要想經過 IP 地址去訪問另外一網段計算機(國外),就須要網關(護照)。而網關地址老是與計算機的IP地址是同一網段的。
截止目前,每層都在給包加負:HTTP 頭 + TCP 頭 + IP 頭 + MAC 頭。
接下來就要給包減負了(網關哥們,辛苦了,來,喝杯水,休息下,剩下的事交給我)
爲設備之間數據通訊提供通訊媒體和互連設備,給數據傳輸提供可靠的環境。