接口基础知识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.mzph.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)。…

<数据集>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…

记录些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)不同;需要转换&…

项目文章|EMBO J(IF=9.4):16S+代谢组解析肠道菌群代谢物改善高脂饮食诱导的胰岛素抵抗机制

肠道菌群及其代谢产物与肥胖相关疾病(如2型糖尿病)密切相关,但其因果关系和潜在机制尚不清楚。研究表明,肥胖与肠道微生物的丰度和多样性变化有关,例如,高脂饮食(HFD)诱导的肥胖会增…

AIGC率超标?掌握论文去AI痕迹的高效策略

随着 AI 技术迅猛发展,各种AI辅助论文写作的工具层出不穷! 为了防止有人利用AI工具进行论文代写,在最新的学位法中已经明确规定“已经获得学位者,在获得该学位过程中如有人工智能代写等学术不端行为,经学位评定委员会…

ESP32CAM物联网教学11

ESP32CAM物联网教学11 霍霍webserver 在第八课的时候,小智把乐鑫公司提供的官方示例程序CameraWebServer改成了明码,这样说明这个官方程序也是可以更改的嘛。这个官方程序有四个文件,一共3500行代码,看着都头晕,小智决…

S7-200smart与C#通信

https://www.cnblogs.com/heizao/p/15797382.html C#与PLC通信开发之西门子s7-200 smart_c# s7-200smart通讯库-CSDN博客https://blog.csdn.net/weixin_44455060/article/details/109713121 C#上位机读写西门子S7-200SMART PLC变量 教程_哔哩哔哩_bilibilihttps://www.bilibili…

清朝嘉庆二十五年(1820年)地图数据

我们在《中国历史行政区划连续变化数据》一文中,为你分享了中国历史行政区划连续变化地图数据。 现在再为你分享清朝嘉庆二十五年(1820年)的地图数据,该数据对于研究历史的朋友应该比较有用,请在文末查看领取方式。 …

HTTP背后的故事:理解现代网络如何工作的关键(一)

一.HTTP是什么 概念 : 1.HTTP ( 全称为 " 超文本传输协议 ") 是一种应用非常广泛的 应用层协议。 2.HTTP 诞生与1991年. 目前已经发展为最主流使用的一种应用层协议. 3.HTTP 往往是基于传输层的 TCP 协议实现的 . (HTTP1.0, HTTP1.1, HTTP2.0 均为 T…

2024世界人工智能大会(WAIC)学习总结

1 前言 在2024年的世界人工智能大会(WAIC)上,我们见证了从农业社会到工业社会再到数字化社会的深刻转变。这一进程不仅体现在技术的单点爆发,更引发了整个产业链的全面突破,未来将是技术以指数级速度发展的崭新时代。…

【从0到1进阶Redis】主从复制 — 主从机宕机测试

上一篇:【从0到1进阶Redis】主从复制 测试:主机断开连接,从机依旧连接到主机的,但是没有写操作,这个时候,主机如果回来了,从机依旧可以直接获取到主机写的信息。 如果是使用命令行,来…