淺析URL

李爵士發(fā)明的三樣?xùn)|西 WWW=URL+HTTP+HTML
今天主要講解什么是URL

IP(協(xié)議)

IP協(xié)議用來(lái)表示每個(gè)設(shè)備的地址。

IP是Internet Protocol(網(wǎng)絡(luò)之間互連的協(xié)議)的縮寫,是TCP/IP體系中的網(wǎng)絡(luò)層協(xié)議。
IP主要約定了兩件事:
1.如何定位一臺(tái)設(shè)備
有IP就可以定位一臺(tái)設(shè)備
2.如何封裝數(shù)據(jù)報(bào)文,以跟其它設(shè)備交流

IP分內(nèi)網(wǎng)IP和外網(wǎng)IP
外網(wǎng)就是路由器之外,內(nèi)網(wǎng)就是路由器包括的有線和無(wú)線

在這里插入圖片描述

如何獲取外網(wǎng)IP
1.從電信租用寬帶,一年一千多
2.買個(gè)貓(調(diào)制解調(diào)器),光貓就是把光信號(hào)變成電信號(hào)。把光信號(hào)變成路由器能理解的網(wǎng)絡(luò)信號(hào)
3.買個(gè)路由器,手機(jī)和電腦分別連接路由器廣播出來(lái)的有線WIFI
只要路由器通過(guò)光貓連上電信的服務(wù)器,那么路由器就會(huì)有個(gè)「外網(wǎng)IP」,比如「14.17.32.211」,這就是你在互聯(lián)網(wǎng)中的地址。
4.但是如果你重啟路由器,那么你很有可能被重新分配一個(gè)「外網(wǎng)IP」。也就是說(shuō)你的路由器沒有「固定的外網(wǎng)IP」

查看外網(wǎng)IP
1’終端命令

ipconfig

2’網(wǎng)站 ip138.com
不能告訴別人,別人會(huì)通過(guò)地址找到你

你的路由器的外網(wǎng)IP如果是14.17.32.211那么你的手機(jī)和電腦的IP又是什么呢?
是「內(nèi)網(wǎng)」

內(nèi)網(wǎng)IP
1.路由器會(huì)在你家創(chuàng)建個(gè)內(nèi)網(wǎng),內(nèi)網(wǎng)中的設(shè)備使用內(nèi)網(wǎng)IP,一般這個(gè)IP格式是192.168.xxx.xxx
2.一般路由器會(huì)給自己分配個(gè)好記的內(nèi)網(wǎng)IP,如192.168.1.1
3.然后路由會(huì)再給每一個(gè)內(nèi)網(wǎng)中的設(shè)備分配一個(gè)不同的內(nèi)網(wǎng)IP,比如電腦是192.168.1.2,手機(jī)是192.169.1.3,以此類推

路由器的功能
路由器有兩個(gè)IP,一個(gè)外網(wǎng)IP和一個(gè)內(nèi)網(wǎng)IP
內(nèi)網(wǎng)中的設(shè)備可以互相訪問(wèn),但是不能直接訪問(wèn)外網(wǎng)
內(nèi)網(wǎng)設(shè)備想要訪問(wèn)外網(wǎng)必須經(jīng)過(guò)路由器中轉(zhuǎn)
外網(wǎng)中的設(shè)備可以互相訪問(wèn)但無(wú)法訪問(wèn)你的內(nèi)網(wǎng)
外網(wǎng)設(shè)備想要把內(nèi)容送到內(nèi)網(wǎng)也必須通過(guò)路由器
也就是說(shuō)內(nèi)網(wǎng)和外網(wǎng)就像兩個(gè)隔絕的空間,無(wú)法互通,唯一的聯(lián)通點(diǎn)就是路由器
所以路由器有時(shí)候也被叫做「網(wǎng)關(guān)」

幾個(gè)特殊的IP
1.127.0.0.1 表示自己
2.可以通過(guò)hosts將localhost指定為自己
127.0.0.1:8080 = localhost:8080
hosts可使任意字符串變成一個(gè)對(duì)應(yīng)的ip
hosts文件在哪?
MAC修改hosts文件
hosts文件位于 /private/etc/hosts,可以通過(guò)下面的方法修改。
1.終端命令

sudo vi /etc/hosts 

回車后再輸入密碼,再回車就可以打開我們的hosts文件了。
2.輸入 i 就可以編輯了,此時(shí)狀態(tài)為insert
加上要配置的 ip+空格+域名
3.編輯好后,按 esc鍵退出,然后輸入:wq

端口port

一臺(tái)機(jī)器可以提供很多服務(wù)
每個(gè)服務(wù)一個(gè)號(hào)碼,這個(gè)號(hào)碼就叫端口號(hào)port

一.一臺(tái)機(jī)器可以提供不同服務(wù)
1.要提供HTTP服務(wù)最好使用80端口
超文本傳輸協(xié)議- 用于傳輸網(wǎng)頁(yè)
2.要提供HTTPS服務(wù)最好使用443端口
超文本傳輸安全協(xié)議或QUIC
3.要提供FTP服務(wù)最好使用21端口
文件傳輸協(xié)議 - 控制端口
一共有65535個(gè)端口(基本夠用)

怎么知道應(yīng)該使用什么端口?
維基百科

二.端口使用還有什么規(guī)則?
規(guī)則
0到1023號(hào)端口是留給系統(tǒng)使用的
你只有擁有了管理員權(quán)限后,才能使用這1024個(gè)端口
不推薦你使用0到1023號(hào)端口
一般用8080做開發(fā),等你真正的部署你的服務(wù)器之后,才能用80端口

其它端口可以給普通用戶使用,隨便用,超過(guò)1024就可以了

在本機(jī)的1025上起個(gè)服務(wù)
終端命令

  cd ~/Desktop/
  hs -c-1 -p 1025 

比如http-server默認(rèn)使用8080端口
一個(gè)端口如果被占用,你就只能換個(gè)端口

總結(jié)
IP是用來(lái)定位一個(gè)設(shè)備的;
端口是用來(lái)定位一個(gè)設(shè)備的服務(wù)的;
IP端口缺一不可
有了IP和端口就可以定位一個(gè)設(shè)備提供的服務(wù)(騰訊的設(shè)備提供的聊天服務(wù))

域名

域名就是對(duì)IP的別稱
baidu.com對(duì)應(yīng)什么IP?
終端命令

 ping baidu.com

mac會(huì)得到不停的回復(fù),中斷control+c

知識(shí)點(diǎn)
1.一個(gè)域名可以對(duì)應(yīng)不同IP
一般ping同一個(gè)域名會(huì)得到不同的IP
這個(gè)叫負(fù)載均衡,防止一臺(tái)機(jī)器扛不住
可以把這個(gè)域名綁定到多個(gè)不同的IP
引流,將壓力平均分給多個(gè)IP分?jǐn)?br> 這樣,假設(shè)即使同時(shí)有100萬(wàn)人訪問(wèn)百度,但有了多個(gè)IP的同時(shí)分擔(dān),也能輕松應(yīng)對(duì)。

2.一個(gè)IP可以對(duì)應(yīng)不同域名
這個(gè)叫做共享主機(jī),窮開發(fā)者會(huì)這么做

DNS 域名系統(tǒng)

那么域名和IP是怎么對(duì)應(yīng)起來(lái)的?
通過(guò) DNS(全稱域名系統(tǒng))

DNS怎么運(yùn)作的?
當(dāng)你輸入baidu.com
過(guò)程
你的Chrome瀏覽器會(huì)向電信/聯(lián)通提供的DNS服務(wù)器 詢問(wèn)baidu.com對(duì)應(yīng)什么IP
終端命令

nslookup baidu.com

電信/聯(lián)通會(huì)回答一個(gè)IP
然后Chrome才會(huì)向?qū)?yīng)IP的80/443端口發(fā)送請(qǐng)求
請(qǐng)求內(nèi)容是查看baidu.com的首頁(yè)

為什么是80/443端口
服務(wù)器默認(rèn)用80提供http服務(wù)
服務(wù)器默認(rèn)用443提供https服務(wù)
可以在開發(fā)者工具里看到具體的端口

題外話
1.www www.baidu.combaidu.com不是同一個(gè)域名
2.他們是什么關(guān)系
com是頂級(jí)域名
baidu.com是二級(jí)域名(俗稱一級(jí)域名)
www.baisu.com是三級(jí)域名(俗稱二級(jí)域名)
他們之間是父子關(guān)系,baidu.comwww.baisu.com的父級(jí) > github.io把子域名xxx.github.io免費(fèi)給你使用
所以你應(yīng)該知道www.baidu.combaidu.com可以不是同一家公司,也可以是
www是多余的,只有外行才去用,程序員網(wǎng)站一般都不提供www前綴

URL 統(tǒng)一資源定位服務(wù)

URL = 協(xié)議+域名或IP+端口號(hào)+路徑+查詢字符串+錨點(diǎn)

在這里插入圖片描述

1.對(duì)前端來(lái)說(shuō)只有兩種協(xié)議http或者h(yuǎn)ttps
https默認(rèn)端口號(hào)443
2.查詢參數(shù)?wd=,同一頁(yè)面我們想看不同的查詢結(jié)果
3.錨點(diǎn)#,查詢頁(yè)面的某一塊內(nèi)容

注意:錨點(diǎn)看起來(lái)有中文,實(shí)際不支持中文
錨點(diǎn)是無(wú)法在Network面板看到的
因?yàn)殄^點(diǎn)不會(huì)傳給服務(wù)器!

HTTP(協(xié)議)

HTTP(協(xié)議)用來(lái)表示如何傳輸網(wǎng)頁(yè)的。
是基于TCP和IP兩個(gè)協(xié)議發(fā)明的

一.curl命令
1.用curl可以發(fā)HTTP請(qǐng)求

curl -v http://baidu.com
curl -s -v --https://www.baidu.com

2.理解以下概念
(1)url 會(huì)被curl工具重寫,先請(qǐng)求DNS獲得IP
先進(jìn)行TCP連接,成功后開始發(fā)送HTTP請(qǐng)求
請(qǐng)求內(nèi)容看一眼
響應(yīng)內(nèi)容看一眼
效應(yīng)結(jié)束后,關(guān)閉TCP連接(看不出來(lái))
真正結(jié)束
3.HTTP
規(guī)定請(qǐng)求的格式是什么,響應(yīng)的格式是什么

終端命令

 curl -v http://www.baidu.com

http到底是做什么的呢?
http作用,規(guī)定如何寫這5行請(qǐng)求


在這里插入圖片描述

以及如何返回這幾十行響應(yīng)的文件


在這里插入圖片描述

http就是個(gè)文件,上面寫了請(qǐng)求怎么寫,響應(yīng)怎么寫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)容提要: URL 包含哪幾部分,每部分分別有什么作用 DNS 的作用是什么,nslookup 命令怎么用 IP ...
    饑人谷_JoelXu閱讀 450評(píng)論 0 0
  • 1 ip (Internet protocol) 1.1 約定 如何定位一臺(tái)設(shè)備 如何封裝數(shù)據(jù)報(bào)文,跟其他設(shè)備交流...
    陳情閱讀 329評(píng)論 0 2
  • 什么是 IP? IP:Internet Protocal – 主要約定了兩件事情:如何定位一臺(tái)設(shè)備如何封裝數(shù)據(jù)報(bào)文...
    是周大俠啊閱讀 206評(píng)論 0 0
  • URL是什么 定義 統(tǒng)一資源定位系統(tǒng)(uniform resource locator):因特網(wǎng)的萬(wàn)維網(wǎng)服務(wù)程序上...
    Amber886閱讀 186評(píng)論 0 0
  • URL包含什么 協(xié)議+域名或IP+端口+路徑+查詢字符串+錨點(diǎn) 協(xié)議:HTTP或其他 IP IP:Internet...
    csy沒有昵稱閱讀 523評(píng)論 3 2

友情鏈接更多精彩內(nèi)容