1 ip (Internet protocol)
1.1 約定
- 如何定位一臺(tái)設(shè)備
- 如何封裝數(shù)據(jù)報(bào)文伞剑,跟其他設(shè)備交流
1.2 ip 內(nèi)網(wǎng)和外網(wǎng)
1.2.1 內(nèi)網(wǎng)
1.2.2 外網(wǎng)
1.2.3 路由器功能 - 現(xiàn)在路由器都有兩個(gè)ip,一個(gè)外網(wǎng)ip一個(gè)內(nèi)網(wǎng)ip
- 內(nèi)網(wǎng)設(shè)備是可以相互訪問的沈贝,但是不能直接訪問外網(wǎng)
- 內(nèi)網(wǎng)設(shè)備想要訪問外網(wǎng)必須經(jīng)過路由器中轉(zhuǎn)
- 外網(wǎng)設(shè)備可以互相訪問澳腹,但是無法訪問你的內(nèi)網(wǎng)
- 外網(wǎng)設(shè)備想要把內(nèi)容送到內(nèi)網(wǎng),也必須通過路由器
- 路由器有時(shí)也叫[網(wǎng)關(guān)]
1.2.4 特殊ip - 127.0.0.1 表示自己
- localhost 通過hosts指定自己
- 0.0.0.0
1.2.5 ping
可以通過ping 域名/ip 查詢連接
2 端口 port
2.1 port
* 要提供http服務(wù)最好使用80端口
* 要提供https服務(wù)最好使用403 端口
2.2 規(guī)則
- 0~1023 號(hào)端口是留給系統(tǒng)使用的
- 只要擁有管理員權(quán)限后,才能使用1024端口
- 其他端口可以給普通用戶使用
- 比如http-server默認(rèn)使用8080端口
- 一個(gè)端口號(hào)被占用贯溅,就只能換其他端口號(hào)
3 域名
- 一個(gè)域名可以對(duì)應(yīng)不同ip
- 這個(gè)叫做均衡負(fù)載霹娄,防止一臺(tái)機(jī)器扛不住
- 一個(gè)ip可以對(duì)應(yīng)不同域名
- 這個(gè)叫共享主機(jī)温学,窮開發(fā)者會(huì)這么做
可以通過nslookup 域名
nslookup baidu.com
在cmd(本人使用的windows系統(tǒng))查詢域名綁定的ip地址
4 ip和域名
4.1 過程
- 瀏覽器會(huì)向電信/聯(lián)通提供的dns服務(wù)器詢問baidu.com的ip
- 電/聯(lián)會(huì)回答一個(gè)ip
- 然后瀏覽器會(huì)向?qū)?yīng)的ip的80/443端口發(fā)請(qǐng)求
4.2 其他 - com是頂級(jí)域名
- xiedaimala.com是二級(jí)域名
- www.xiedaimala.com是三級(jí)域名
-
xiedaimala.com和www.xiedaimala.com是父子級(jí)關(guān)系
4.3 url
url分為 協(xié)議 + 域名 / ip + 端口號(hào) + 請(qǐng)求路徑 + 請(qǐng)求參數(shù) + 錨點(diǎn)
5 curl
5.1 用curl發(fā)http請(qǐng)求
curl -v http://baidu.com
curl -s -v -- https://www.baidu.com
5.2 理解以下概念
- url 會(huì)被curl工具重寫所灸,先請(qǐng)求DNS獲得ip
- 先進(jìn)行tcp鏈接蛋逾, tcp鏈接成功后茸苇,開始發(fā)送http請(qǐng)求
- 請(qǐng)求內(nèi)容
- 響應(yīng)內(nèi)容
- 響應(yīng)結(jié)束槽地,關(guān)閉tcp連接
- 結(jié)束
6 跨源資源共享(CORS)
6.1 什么是跨域
跨源資源共享 (CORS) (或通俗地譯為跨域資源共享)是一種基于HTTP 頭的機(jī)制拼坎,該機(jī)制通過允許服務(wù)器標(biāo)示除了它自己以外的其它origin(域盾碗,協(xié)議和端口)怎静,這樣瀏覽器可以訪問加載這些資源邮弹。
6.2 跨域問題
出于安全性
,瀏覽器限制腳本內(nèi)發(fā)起的跨源HTTP請(qǐng)求蚓聘。 例如腌乡,XMLHttpRequest和Fetch API遵循同源策略。 這意味著使用這些API的Web應(yīng)用程序只能從加載應(yīng)用程序的同一個(gè)域請(qǐng)求HTTP資源夜牡,除非響應(yīng)報(bào)文包含了正確CORS響應(yīng)頭与纽。
6.3 解決方法
跨源域資源共享( CORS )機(jī)制允許 Web 應(yīng)用服務(wù)器進(jìn)行跨源訪問控制侣签,從而使跨源數(shù)據(jù)傳輸?shù)靡园踩M(jìn)行。現(xiàn)代瀏覽器支持在 API 容器中(例如 XMLHttpRequest
或 Fetch )使用 CORS急迂,以降低跨源 HTTP 請(qǐng)求所帶來的風(fēng)險(xiǎn)影所。