HTTP全解 URL是什么
時間:2023-02-20 08:40:02 | 來源:建站知識
時間:2023-02-20 08:40:02 來源:建站知識
HTTP全解 URL是什么:
1、網絡和IP
protocol(協議)
李爵士發(fā)明了三個東西 WWW=URL+HTTP+HTML
什么是ip(Internet Protocol
)主要約定了兩件事:1、如何定位一臺設備;2、如何封裝數據報文,以跟其他設備交流
只要你在互聯網中,你就有至少一個獨特的ip
ip分內網和外網
如何獲取外網IP?2、端口port
url用來定位一個服務器的。
一臺機器可以提供很多服務,每個服務一個號碼,這個號碼就叫端口port
一臺機器可以提供不同服務- 要提供HTTP服務最好使用80端口
- 要提供HTTPS服務最好使用443端口
- 要提供FTP服務最好使用21端口
- 一共65535個端口
怎么知道應該使用什么端口?維基百科有詳細說明:
端口使用說明:
總結:ip用來定位一個設備,端口用來定位一個設備的服務,有了ip和端口,我們就可以定位一個設備提供的服務,例如:百度的設備提供的網頁服務,騰訊設備提供的聊天服務等。
總而言之:IP和端口缺一不可3、域名、路徑、查詢參數、錨點
域名是什么?
域名就是對IP的別稱
http://baidu.com、http://qq.com對應什么ip?去ping
http://baidu.com、ping
http://qq.combaidu.com對應的ipqq.com對應的ip一個域名可以對應不同的IP,這個叫做負載均衡,防止一臺機器扛不住。 一個IP可以對應不同的域名,這個叫共享主機,窮開發(fā)者會這樣做。(共用服務器)
域名和IP是怎么對應起來的?
通過DNS
DNS是如何運作的?
具體過程可以使用nslookup(域名尋找)如何看到具體的端口:
我們如何請求不同的頁面呢?
路徑可以做到
例如:https://developer.mozilla.org/zh-CN/docs/Web/HTML https://developer.mozilla.org/zh-CN/docs/Web/CSS訪問第一個頁面,我們只要改掉后面的路徑就可以訪問第二個頁面。
同一個服務器上面,
使用不同的路徑可以訪問不同的頁面 注意:路徑是沒有必要有后綴的
這兩個頁面的區(qū)別,可以在開發(fā)者工具上查看,除了路徑不一樣,可以查看到他們的get和其他信息都是一樣的。
同一個頁面,不同內容(eg:訪問微博的時候同一個頁面不同的內容) 這是
通過查詢參數做到的
https://www.baidu.com/s?wd=hihttps://www.baidu.com/s?wd=hello這兩個都是搜索頁面,但是會出現不同的內容 s?wd= /* 查詢參數,你要搜hi就寫hi */
搜索頁面,不同的內容,hihello內容同一個內容,不同位置 通過
錨點可以做到
https://developer.mozilla.org/zh-CN/docs/Web/CSS#教程https://developer.mozilla.org/zh-CN/docs/Web/CSS#相關鏈接會帶我們到同一個頁面,同一個內容中的不同位置
注意:
錨點看起來有中文,實際不支持中文,#教程會變成#%E6%95%99%E7%A8%8B,錨點是無法在Network面板看到的,因為錨點不會傳給服務器。
URL 協議+域名或IP+端口號+路徑+查詢字符串+錨點
URL完整內容,這里沒寫端口,https默認端口是443HTTP(協議) 基于TCP和IP兩個協議
4、crul命令
用crul命令可以發(fā)HTTP請求
測試:curl -v http://baidu.comcurl -s -v -- https://www.baidu.com
curl -v http://baidu.comcurl -v http://www.baidu.com- url會被curl工具重寫,先請求DNS獲得IP
- 先進行TCP連接,TCP連接成功后,開始發(fā)送HTTP請求
- 請求內容
- 響應內容
- 響應結束后,關閉TCP連接(看不出來)
- 真正結束
HTTP規(guī)定請求的格式是什么,響應的格式是什么