接口基礎知識3:詳解url

課程大綱?

ad8765de22cb10cff60fb564057b7cbf.jpeg

一、定義

????????URL即訪問的鏈接,是Uniform Resource Locator的縮寫,譯為"統一資源定位符"。

????????URL是一種URI,它標識一個互聯網資源,并指定對其進行操作或獲取該資源的方法。可能通過對主要訪問手段的描述,也可能通過網絡“位置”進行標識。

url組成

URL的一般語法格式(帶方括號的為可選項):

protocol://hostname[:port]/path/[:parameters][?query]#fragment

protocol

協議。比如http。

hostname

主機名。

port

端口號。若無指定,http默認為80。

path

路徑。

由零或多個“/”符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址。

Parameters

(很少用)

用于指定特殊參數的可選項,由服務器端程序自行解釋。

query

查詢,傳遞參數。

可有多個參數,用“&”符號隔開,每個參數的名和值用“=”符號隔開。

如上節課”帶參數的get請求”:http://www.baidu.com/?ie=utf-8&f=8

fragment

信息片段,指定網絡資源中的片段。

類似于文章目錄,比如某網頁文章中多個標題,指定跳轉到某標題內容。

????????簡單來說,URL格式有2種格式,區別在于使用域名還是IP:

????????①?{協議名}://{域名}/{路徑}

????????舉例:http://blog.csdn.net/weixin_37846886/article_id=123

????????②?{協議名}://{IP}[:端口號]/{路徑}

????????舉例:http://127.0.0.1:9999/login

域名和IP的區別與聯系

????????????????域名和IP一一對應。

3.1為什么使用域名?

????????域名(Domain Name):又稱網域,是由一串用點分隔的名字組成的互聯網上某一臺計算機或計算機組的名稱,用于在數據傳輸時對計算機的定位標識(有時也指地理位置)。

????????由于IP地址不方便記憶,并且不能顯示地址組織的名稱和性質,人們設計出了域名,并通過域名系統(DNS,Domain Name System)來將域名和IP地址相互映射,使人更方便地訪問互聯網,而不用去記住能夠被機器直接讀取的IP地址數串。

3.2?DNS實現域名和IP的映射

????????DNS(Domain Name System):一套從域名到IP的映射系統。

????????一個組織的系統管理機構,維護系統內的每個主機的IP和主機名的對應關系。

????????如果新計算機接入網絡,將這個信息注冊到數據庫中。

????????用戶輸入域名的時候,會自動查詢DNS服務器,由DNS服務器檢索數據庫,得到對應的IP地址。

3.3?域名訪問網站流程?

3.4?CDN加速服務

????????CDN(Content Delivery Network):內容分發網絡。

????????訪問速度會受到網絡傳輸速度的影響,為提升訪問速度,某些服務會在不同區域部署相同的服務器(冗余),根據訪問者的IP識別區域并返回距離最近的服務器IP。

????????CDN工作流程:

????????DNS域名解析的映射有2種:①?{域名:IP};②?{域名:別名(CNAME)}。

????????別名(CNAME)也是一個域名,由特定的CDN服務商提供,同一個服務可能在不同區域分別部署相同服務器,具有不同IP。則該CDN服務商搭建自己的DNS服務器,存儲IP。

????????當DNS解析出別名,會將別名發送至其所屬的CDN專用DNS服務器再進行解析,進行IP分配和返回,供訪問者使用。

????????舉例:如百度在全國各地有服務部署,在北京輸入www.baidu.com進行訪問,域名解析與訪問加速過程如下。

a1cce55c08d0ef765a6295bfad776a22.jpeg

此流程即域名的多級解析,可理解為:

Step1、訪問者發送域名至DNS;

Step2、DNS將請求發送至百度服務集群;

Step3、百度返回距訪問者最近(最快)的服務器IP(如北京服務器IP);

Step4、訪問者訪問返回的IP。

3.5?總結使用域名的優點

①方便訪問者記憶;

②靈活,可更換與域名映射的IP(如切換后端服務);

③安全,可隱藏服務器IP信息,避免服務器受到攻擊等不安全因素;

④提高訪問速度(CDN加速)。

參考文章:

1、《URL格式》

https://baike.baidu.com/item/URL%E6%A0%BC%E5%BC%8F/10056474?fr=aladdin

2、《DNS(域名系統)》

https://blog.csdn.net/dreamnn/article/details/135560891

3、《超清晰的DNS入門指南,看這篇就夠了》

https://zhuanlan.zhihu.com/p/696346689

4、《程序員要搞明白CDN,這篇應該夠了》

https://blog.csdn.net/weixin_44129618/article/details/126501046

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45264.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45264.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45264.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot詳細解析

1.什么是springboot springboot也是spring公司開發的一款框架。為了簡化spring項目的初始化搭建的。那么spring對應springboot有什么缺點呢? spring項目搭建的缺點: 配置麻煩依賴tomcat啟動慢 2.springboot的特點 自動配置 Spring Boot的自動配置是一個運行時&…

Docker 安裝ros 使用rviz 等等圖形化程序

Docker 安裝ros 使用rviz 等等圖形化程序 ubuntu 版本與ros 發行版本對應 如何安裝其它版本ros 此時考慮使用docker 易于維護 地址: https://hub.docker.com/r/osrf/ros 我主機是 ubuntu22.04 使用這個標簽 melodic-desktop-full 1 clone 鏡像到本機 docker pu…

Android OkHttp3中HttpLoggingInterceptor使用

目錄 一 概述1.1 日志級別 二 使用2.1 引入依賴2.2 創建對象2.3 添加攔截器 三 結果展示3.1 日志級別為BODY3.2 日志級別為BASIC3.3 日志級別為HEADERS 參考 一 概述 HttpLoggingInterceptor是OkHttp3提供的攔截器,用來記錄HTTP請求和響應的詳細信息。 1.1 日志級…

基于IDEA的Lombok插件安裝及簡單使用

lombok介紹 Lombok能以注解形式來簡化java代碼,提高開發效率。開發中經常需要寫的javabean,都需要花時間去添加相應的getter/setter,也許還要去寫構造器、equals等方法,而且需要維護。而Lombok能通過注解的方式,在編譯…

Spring AOP 實現 Excel 導出統一處理

你好,我是柳岸花開。在實際開發中,經常會遇到需要導出 Excel 數據的需求。為了避免代碼重復,我們可以使用 Spring AOP(面向切面編程)來實現 Excel 導出的統一處理。本文將介紹如何使用 Spring AOP 在項目中統一處理 Ex…

【學習筆記】無人機(UAV)在3GPP系統中的增強支持(十三)-更換無人機控制器

引言 本文是3GPP TR 22.829 V17.1.0技術報告,專注于無人機(UAV)在3GPP系統中的增強支持。文章提出了多個無人機應用場景,分析了相應的能力要求,并建議了新的服務級別要求和關鍵性能指標(KPIs)。…

枚舉的高階用法之枚舉里寫方法以及注入spring的bean

1、前言 一般我們使用枚舉都是用來定義一些常量。比如我們需要一個表示訂單類(pc訂單、手機訂單)的常量,那我們就可以使用枚舉來實現,如下: AllArgsConstructor public enum OrderTypeEnum{PC("PC", "電腦端"),PHONE("PHONE", "手機端&quo…

[計網初識2]web的3個核心標準html,url,http

學習內容 HTML,URL,HTTP的構成 1.規范web的3個核心標準? HTML(Hyper Text Markup Language),規范網頁內容和版面布局的表示標準。URL(Uniform Resource Locator),規范網頁識別符格式和含義的表示標準。HTTP(HyperText Transfer Protocl),規范游覽器如…

JIRA的高級搜索JIRA Query Language(JQL)詳解

JIRA的高級搜索功能非常強大,允許用戶通過JIRA Query Language(JQL)來構建復雜的查詢。以下是一些常用的高級搜索用法和示例: 1. 基本語法 JQL的基本語法包括字段、運算符和值的組合。例如: field operator value2.…

<數據集>UA-DETRAC車輛識別數據集<目標檢測>

數據集格式:VOCYOLO格式 圖片數量:20500張 標注數量(xml文件個數):20500 標注數量(txt文件個數):20500 標注類別數:4 標注類別名稱:[car, van, others, bus] 序號類別名稱圖片數框數1car201871259342…

鋇錸ARMxy控制器在智能網關中的應用

隨著IoT物聯網技術的飛速發展,智能網關作為連接感知層與網絡層的樞紐,可以實現感知網絡和通信網絡以及不同類型感知網絡之間的協議轉換。鋇錸技術的ARMxy系列控制器憑借其高性能、低功耗和高度靈活性的特點,在智能網關中發揮了關鍵作用&#…

數據結構回顧(Java)

1.數組 線性表 定義的方式 int[] anew int[10] 為什么查詢快? 1.可以借助O(1)時間復雜度訪問某一元素, 2.地址連續,邏輯連續 3.數組長度一旦確定就不可以被修改 當需要擴容的時候需要將老數組的內容復制過來 在Java中數組是一個對象 Ar…

bug定位策略

前提--用戶環境層面 hosts異常:hosts文件主要是加快某個域名或者網站的解析速度,從而達到快速訪問的作用,也可以屏蔽網站。hosts異常可能會導致部分網頁無法訪問,能夠加載,但是網頁無法正常顯示;測試環境臟…

記錄些Redis題集(2)

Redis 的多路IO復用 多路I/O復用是一種同時監聽多個文件描述符(如Socket)的狀態變化,并能在某個文件描述符就緒時執行相應操作的技術。在Redis中,多路I/O復用技術主要用于處理客戶端的連接請求和讀寫操作,以實現高并發…

Python_使用pyecharts構建折線圖

Pyecharts簡介 Pyecharts是一款將python與echarts結合的強大的數據可視化工具,使用 pyecharts 可以生成獨立的網頁,也可以在 flask , Django 中集成使用。echarts :百度開源的一個數據可視化 JS 庫,主要用于數據可視化。pyechart…

嵌入式linux相機 框圖

攝像頭讀取數據顯示到LCD流程 重點:攝像頭數據(yuyv,mjpeg,rgb)(640,320)與LCD顯示數據(RGB)(480,240)不同;需要轉換&…

ReactRouter v6升級的步驟

React Router v6 引入了一個 Routes 組件&#xff0c;它有點像 Switch &#xff0c;但功能要強大得多。與 Switch 相比&#xff0c; Routes 的主要優勢在于&#xff1a; <Routes> 中的所有 <Route> 和 <Link> 都是相對的。這導致在 <Route path> 和 &…

項目文章|EMBO J(IF=9.4):16S+代謝組解析腸道菌群代謝物改善高脂飲食誘導的胰島素抵抗機制

腸道菌群及其代謝產物與肥胖相關疾病&#xff08;如2型糖尿病&#xff09;密切相關&#xff0c;但其因果關系和潛在機制尚不清楚。研究表明&#xff0c;肥胖與腸道微生物的豐度和多樣性變化有關&#xff0c;例如&#xff0c;高脂飲食&#xff08;HFD&#xff09;誘導的肥胖會增…

AIGC率超標?掌握論文去AI痕跡的高效策略

隨著 AI 技術迅猛發展&#xff0c;各種AI輔助論文寫作的工具層出不窮&#xff01; 為了防止有人利用AI工具進行論文代寫&#xff0c;在最新的學位法中已經明確規定“已經獲得學位者&#xff0c;在獲得該學位過程中如有人工智能代寫等學術不端行為&#xff0c;經學位評定委員會…

ESP32CAM物聯網教學11

ESP32CAM物聯網教學11 霍霍webserver 在第八課的時候&#xff0c;小智把樂鑫公司提供的官方示例程序CameraWebServer改成了明碼&#xff0c;這樣說明這個官方程序也是可以更改的嘛。這個官方程序有四個文件&#xff0c;一共3500行代碼&#xff0c;看著都頭暈&#xff0c;小智決…