網絡基礎
URL
的組成結構:協議名
: //主機名
[:端口號]
[/路徑]
[?查詢字符串]
- 協議默認
端口
:- http:80,開發常用端口有 3000、8080、8090、9000
- https: 443
如果端口被其他程序占用,可以使用 資源監視器 找到占用端口的程序,然后使用任務管理器關閉對應的程序
IP
:- 分類:
- 本機回環IP:127.0.0.1 ~ 127.255.255.254
- 局域網IP(私網):
- 192.168.0.0 ~ 192.168.255.255
- 172.16.0.0 ~ 172.31.255.255
- 10.0.0.0 ~ 10.255.255.255
- 廣域網IP(公網):除上述之外
- 本質:是一個數字標識,用來標志網絡設備,實現設備間通信 。例如路由器的IP地址為192.168.1.1,開通(電信、移動、聯通)網絡之后,會新增一個廣域網IP地址,用來訪問互聯網。
- 分類:
全局方法
- URL:
獲取路徑和查詢字符串
推薦使用的方法const url = new URL(request.url, 'http://127.0.0.1'); // 路徑 console.log(url.pathname); // 查詢字符串對象 console.log(url.searchParams);
http模塊
-
請求體:
- get方法:請求體為空
- post方法:有2種方式(form表單提交、ajax請求),請求體不為空
-
響應報文設置:
- 狀態碼:response.statusCode
- 狀態描述:response.statusMessage
- 響應頭信息:response.setHeader(‘頭名’, ‘頭值’)
- 響應體:
- response.write: 可以寫多個,也可以不寫
- response.end(字符串或buffer類型):每個請求都必須要執行,必須寫
-
媒體資源類型(MIME類型):
- 說明:是一種標準,用來表示文檔、文件、字節流的性質和格式。例如HTTP服務可以設置響應頭Content-Type來表明響應體的MIME類型,瀏覽器會根據該類型來決定如何處理資源
- 結構:
[type]/[subType]
,例如:text/html、text/css、image/png、application/json - 對未知的資源類型進行下載操作:瀏覽器在遇到
application/octet-stream
類型的響應時,會對響應體內容進行獨立存儲,即下載
-
get與post請求的區別:
- 作用:get主要用來獲取數據,post主要用來提交數據
- 參數位置:get的參數在url后面,post的參數在請求體中
- 安全性:post請求相對get安全一些,不會將參數暴露在url地址欄,get請求容易受到跨站請求攻擊
- 大小限制:get一般限制為2K,post則沒有大小限制