一个网址包含有什么? URL-简介

 提到网址我们需要先了解一些概念:

  计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统.

  协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信的规则被称为网络通信协议。

  它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。

  IP地址:要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号.也就是设备的标识.

  IP地址主要分为IPv4和IPv6.

  域名:即网域名称,是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。

  域名可以说是一个IP地址的代称,目的是为了便于记忆后者。例如,baidu.com是一个域名。人们可以直接访问baidu.com来代替IP地址,然后域名系统(DNS)就会将它转化成便于机器识别的IP地址。

  这样,人们只需要记忆baidu.com这一串带有特殊含义的字符,而不需要记忆220.181.38.148这种没有含义的数字。

  端口:网络的通信,本质上是两个应用程序的通信.每台计算机都有很多的应用程序,那么在网络通信时,如何区分这些应用程序呢?如果说IP地址可以唯一标识网络中的设备,那么端口号就可以唯一标识设备中的应用程序了.也就是应用程序的标识.

  端口号的范围是:0~65535.

 Internet 上的每一个网页都具有一个唯一的名称标识,通常称之为 URL(Uniform Resource Locator,统一资源定位器)。它是 www 的统一资源定位标志,简单地说 URL 就是 web 地址,俗称“网址”。

几个问题

  • 我们敲的地址到底是啥?
网址
  • 那网址是啥意思?

网址的解释

网址也叫 url,是用来表示一个网页的特定标示,有了个这个 url 就能获取到对应的资源。

url 的规则是比较简单的,就好比我们电脑上的文件目录,查看方式+哪台电脑(可能需要密码)+哪个目录+哪个文件+哪个片段,这种样子,但是有自己的定义方式,如下

protocol:[//[user:password@]host[:port]][/]path[?query][#fragment]

 网址简化:  协议://主机域名:端口号/资源文件名?参数=值  (带方括号[]的为可选项)

完整的网址(url)中文版本:  协议://主机名(域名):端口号/路径/文件名?查询字符串#锚点

 

protocol(协议)

表示用何种方式获取资源,俗称协议,最常见的是 http、ftp 等,http 也是我们上网用的对多的协议类型。当然还有很多其他类型

  • file 资源是本地计算机上的文件。格式 file:///,注意后边应是三个斜杠。
  • ftp 通过 FTP 访问资源。格式 FTP://
  • gopher 通过 Gopher 协议访问该资源。
  • http 通过 HTTP 访问该资源。 格式 HTTP://
  • https 通过安全的 HTTPS 访问该资源。 格式 HTTPS://
  • mailto 资源为电子邮件地址,通过 SMTP 访问。 格式 mailto:
  • MMS 通过支持 MMS(流媒体)协议的播放该资源。(代表软件:Windows Media Player)格式 MMS://
  • ed2k 通过 支持 ed2k(专用下载链接)协议的 P2P 软件访问该资源。(代表软件:电驴)格式 ed2k://
  • Flashget 通过支持 Flashget:(专用下载链接)协议的 P2P 软件访问该资源。(代表软件:快车) 格式 Flashget://
  • thunder 通过支持 thunder(专用下载链接)协议的 P2P 软件访问该资源。(代表软件:迅雷) 格式 thunder://
  • news 通过 NNTP 访问该资源。

host(主机名)

表示要访问哪个电脑(服务器),也表示哪个网站,有时候一些网站不是随便访问的就需要再前面加个用户名密码才能获取到资源

// 不需要密码
http://www.baidu.com
// 需要密码
http://mosnchina:123456@www.baidu.com
网站一级域名和二级域名

几级域名就是看域名后面有几个以"."分隔的后缀。

例如:”fuyeor.com“有一个以"."分隔的后缀,就是一个一级域名。其中 com 是顶级域名,或者叫做根域名、域名后缀。

二级域名就是寄存在主域名之下的域名,是裸域名往左一级的域名。一般来说,二级域名就是 类似 3个w(www)这样的格式。

例如:”www.fuyeor.com“有两个以"."分隔的后缀,就是一个二级域名。

因为 IP 地址是枯燥的长长一大串数字,为了让人容易记住,网站就有了域名,比如:“二级域名.fuyeor.根域名”或者直接是没有二级域的”fuyeor.根域名“。

其中,“二级域名.fuyeor.根域名”里 fuyeor 就是域名的主体;而根域名就是 com、net、cn 这些后缀。

port(端口号) 

端口就是这个电脑的门在哪里,每个电脑有很多通往外面的门,不同的端口提供的内容是不一样的,我们需要通过正确的门进去才能看到我们想要的东西。

一般情况下协议和端口是匹配关系,但是也有不按常规来做的,一般 http 协议默认是 80 端口,https 协议默认是 443 端口,这时候端口号就可以省略不写,如果不是默认关系就需要明确表写上去。

端口都是正整数。

// 表示我要用http协议访问百度网站的80这个门
http://www.baidu.com
//表示我要用http协议访问百度网站的8080这个门
http://www.baidu.com:8080
端口这里就不详细讲解了,除了默认的端口意外,一般我们如果自己定义提供服务的端口范围是从 1024 到 65535,叫动态端口,低于这个数字一般是操作系统自己用的,不要瞎配,下面列举一些常见端口
  • 21:FTP 服务所开放的端口,用于上传、下载文件。
  • 22:SSH 端口,用于通过命令行模式远程连接 Linux 服务器或 vps。
  • 25:SMTP 服务所开放的端口,用于发送邮件。
  • 80:HTTP 用于 HTTP 服务提供访问功能,例如,IIS、Apache、Nginx 等服务。您可以参阅、检查、TCP 80 端口是否正常工作,排查 80 端口故障。
  • 110:POP3 用于 POP3 协议,POP3 是电子邮件收发的协议。
  • 143:IMAP 用于 IMAP(Internet Message Access Protocol)协议,IMAP 是用于电子邮件的接收的协议。
  • 443:HTTPS 用于 HTTPS 服务提供访问功能。HTTPS 是一种能提供加密和通过安全端口传输的一种协议。
  • 1433:SQL Server SQL Server 的 TCP 端口,用于供 SQL Server 对外提供服务。
  • 1521:Oracle 通信端口,服务器上部署了 Oracle SQL 需要放行的端口。
  • 3306:MySQL 数据库对外提供服务的端口。 3389:Windows Server Remote Desktop Services Windows Server Remote Desktop Services(远程

path(路径)

 这就好比我们电脑上看某个目录文件一样,c:\work\docs(window 电脑,mac 不一样哦),可以通过这个路径查看到想要的资源,网址的路径格式是固定的,必须由零或多个“/”符号隔开的字符串

// 表示我要访问百度的search资源
http://www.baidu.com/search
// 表示我要用http协议访问百度网站的article目录下details中的123832579这个资源
http://www.baidu.com/article/details/123832579

一般我们电脑上文件都有个后缀,比如.doc、.jpg、.xls 等,其实网上的资源也有,所有的资源返回其实都是.html,有人说我看到有.php、.do 等,那其实是对应的提供服务的程序所需要的约定后缀,但是实际上返回的还是 html 性质的内容

query(查询、参数)

就好比我们有个超级大的文件集合,你想看,直接看根本打不开,或者说你没权限看全部内容,那怎么办呢?

我们就可以用 query 来查看我们可以的部分内容,比如我要看第 10 章节

http://www.baidu.com/article/details/123832579?section=10

一个网站可以使用的 query 条件是既定的,就是说提供服务的人设定,不可以随便写,所以 query 也可以叫查询条件。一般情况下一个纯静态(写死的文件)是无法提供这种能力的,这种能力是由动态网页(如使用 CGI、ISAPI、PHP/JSP/ASP/http://ASP.NET 等技术制作的网页)提供的。

query 也是由格式要求的,可有多个条件,用“&”符号隔开,每个条件的名和值用“=”符号隔开。

http://www.baidu.com/article/details/123832579?section=10
http://www.baidu.com/article/details/123832579?section=10&keyword=abc
http://www.baidu.com/article/details/123832579?section=10&keyword=%E6%B5%8B%E8%AF%95

大家对最后一个会感觉很奇怪,这最后怎么乱了,这又是另外一个约定叫 URL 编码,是因为 URL 中的某些字符会引起歧义,比如若 URL 查询条件中包含”&”或者”%”就会造成服务器解析错误,再比如,URL 的编码格式采用的是 ASCII 码而非 Unicode,这表明 URL 中不允许包含任何非 ASCII 字符(比如中文),否则就会造成 URL 解析错误。具体看文章就不讲了

  • 网络传输中的那些编码之-URL 编码
  • URL 编码是什么?

fragment(信息片断)

这个比较特殊,它不是请求资源用的,它其实是浏览器的功能,用来定位资源某个片段的,比如我要请求一篇文章,但是呢,我想直接看第 3 章节,怎么办呢?

http://www.baidu.com/article/details/123832579#3

当我们在资源内容里面第 3 章节的开头打个标记 ID 为 3 的时候,浏览器打开页面就直接定位到这个地方,比较快捷方便。

到现代开发来说又开发出更多的使用方式,比如路由啥的,但是有一点一定要记住,有这个内容的情况下,在页面中一定不能有对应的标记信息,否则页面就自己滚动对应的地方了。

特殊说明:

  1. 和 query 不同,query 是会带到服务器的,而 fragment 只有浏览器知道;
  2. fragment 的改变不会触发浏览器刷新页面,但是会生成浏览历史;
  3. fragment 会被浏览器根据文件媒体类型(MIME type)进行对应的处理;
  4. 部分搜索引擎会忽略#及其后面的字符串。

网址的案例分析

http://www.baidu.com:80/word?fr=num11&lm=0&od=0#top
  • http(协议:protocol)
  • http://www.baidu.com(主机名,也称域名
  • 80(端口:port)
  • /word(路径:path)
  • ?fr=num11&lm=0&od=0(参数:query)
  • top(信息片断:fragment,在单页面时代又叫路由)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/695102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

S281 LoRa网关助力智慧城市建设的智能交通管理

S281 LoRa网关作为智慧城市建设中的重要组成部分,发挥着关键的作用,特别是在智能交通管理方面。通过连接各类传感器设备和物联网终端,S281 LoRa网关实现了对城市交通系统的远程监控、智能调度和信息化管理,为城市交通管理部门提供…

Python hasattr函数

在Python编程中,hasattr()函数是一个非常有用的内置函数之一,用于检查对象是否具有指定的属性或方法。这个函数能够帮助我们在运行时动态地检查对象的属性和方法,从而避免由于缺少属性或方法而导致的异常。本文将深入探讨Python中的hasattr()…

C++入门学习(三十二)二维数组定义方式

一维数组类似于一条“线”&#xff0c;而二维数组类似于一个“面”&#xff0c;二维数组也更像一个表格&#xff0c;由我们在“表格”中查询数据。 1、先定义数组&#xff0c;后赋值 int arr[2][3]; #include <iostream> using namespace std;int main() { int arr…

线性代数:线性方程组解的结构

目录 齐次/非齐次方程组的解 Ax 0 的解的性质 定理 Ax b 的解的性质 相关证明 例1 例2 例3 齐次/非齐次方程组的解 Ax 0 的解的性质 定理 Ax b 的解的性质 相关证明 例1 例2 例3

代码随想录算法训练营第三十七天|738.单调递增的数字 714. 买卖股票的最佳时机含手续费 968.监控二叉树

738.单调递增的数字 链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 细节&#xff1a; 这个题意是很简单的&#xff0c;拿到题目就会有一个思路&#xff0c;就是沿着给定的数字往下判断就可以了&#xff0c;这其实是一种暴力解法&am…

软考 系统分析师系列知识点之企业资源规划和实施(3)

接前一篇文章&#xff1a;软考 系统分析师系列知识点之企业资源规划和实施&#xff08;2&#xff09; 所属章节&#xff1a; 第7章. 企业信息化战略与实施 第5节. 企业资源规划和实施 7.5.2 ERP的开发方法 目前&#xff0c;ERP供应商众多&#xff0c;各自的系统都有其自身的特…

渗透测试—信息收集

渗透测试—信息收集 1. 收集域名信息1.1. 域名注册信息1.2. SEO信息收集1.3. 子域名收集1.3.1. 在线子域名收集1.3.2. 子域名收集工具 1.4. 域名备案信息1.5. ICP备案号查询1.6. SSL证书查询 2. 收集真实IP2.1. 超级ping2.2. Ping2.3. CDN绕过 3. 收集旁站或C段IP3.1. 旁站或C段…

Nginx-----------高性能的 Web服务端 location 优先级(二)

一、event事件 events {worker_connections 65536; #设置单个工作进程的最大并发连接数use epoll;#使用epoll事件驱动&#xff0c;Nginx支持众多的事件驱动&#xff0c;比如:select、poll、epoll&#xff0c;只能设置在events模块中设置。accept_mutex on; #on为同一时刻一个…

学习笔记-Git

Git 问题一描述解决方法注意事项 问题一 描述 在commit和push的时候因为网络太慢了中途强行关闭了进程&#xff0c;而push的内容因为文件过大导致无法正常push 按照原本的流程在push的时候会提示失败&#xff0c;并且需要在解决了大文件之后重新push 而因为中途中断了&#x…

自动化开展思路

自动化开展思路 本人在公司一直从事自动化测试推进工作&#xff0c;最近在好友的邀请下去其就职的公司分享如何开展自动化测试&#xff01; 希望能帮其解决如下几个痛点&#xff1a; 1.上线周期长&#xff1b; 2.测试时间紧张&#xff0c;上线信心不足&#xff0c;测试覆盖…

history of philosophy, i guess (history of all ideas)

URL Epistemology “What can I be 100% certain of if I doubt everything?” I think, therefore I am I am finite/limited this implies that the infinite exists that which is infinite in every way is God If God is infinitely good, he wouldn’t deceive me. II…

异常统一处理:BusinessException(自定义业务异常)

一、引言 本篇内容是“异常统一处理”系列文章的重要组成部分&#xff0c;主要聚焦于对 BusinessException 的原理解析与异常处理机制&#xff0c;并给出测试案例。 关于 全局异常统一处理 的原理和完整实现逻辑&#xff0c;请参考文章&#xff1a; 《SpringBoot 全局异常统一…

云性能测试方法:优化应用性能的关键步骤

随着云计算的普及和应用程序的不断发展&#xff0c;对于云平台上应用程序性能的测试变得愈发重要。云性能测试方法是评估应用程序在云环境中的性能表现并识别改进机会的关键步骤之一。在本文中&#xff0c;我们将探讨云性能测试的方法和步骤&#xff0c;以帮助开发人员和测试人…

挑战杯 基于人工智能的图像分类算法研究与实现 - 深度学习卷积神经网络图像分类

文章目录 0 简介1 常用的分类网络介绍1.1 CNN1.2 VGG1.3 GoogleNet 2 图像分类部分代码实现2.1 环境依赖2.2 需要导入的包2.3 参数设置(路径&#xff0c;图像尺寸&#xff0c;数据集分割比例)2.4 从preprocessedFolder读取图片并返回numpy格式(便于在神经网络中训练)2.5 数据预…

刷题第一天

代码随想录刷题第一天 | 704. 二分查找&#xff0c;27. 移除元素 704. 二分查找收获 27. 移除元素收获 704. 二分查找 题目链接&#xff1a;二分查找 这里使用二分法有前提就是得是有序数组&#xff0c;而且还得是无重复的数字&#xff0c;如果有重复的数字&#xff0c;二分…

使用Templ进行Go模板化

使用Templ在Go项目中高效生成动态内容的指南 动态内容生成是Web开发的一个基本方面。无论您是在构建网站、Web应用程序还是API&#xff0c;根据数据和模板生成动态内容的能力都至关重要。在Go编程世界中&#xff0c;一个名为“Templ”的强大工具简化了这一过程。在这份全面的指…

有多少因数

输入1正整数N的整数&#xff0c;求有多少正整数可以整除N&#xff08;即因数个数&#xff09;。 输入格式 一行1个正整数&#xff1a;N&#xff0c;范围在[1,10000]。 输出格式 一个正整数。 输入/输出例子1 输入&#xff1a; 12 输出&#xff1a; 6 解释&#xff1a;有1…

Query Rewrite —— 基于大模型的query扩展改写,PRF(论文)

本文介绍了一篇典型的 PRF &#xff08;Pseudo-relevance feedback &#xff09;思路的论文&#xff0c;用于利用LLM来做query改写&#xff0c;提升召回率&#xff0c;召回效果。 论文地址&#xff1a;Large Language Models are Strong Zero-Shot Retriever 一、PRF的流程 如…

DPDK应该如何入门学习?

01 写在前面 我的读者当中应该有一部分人是做 DPDK 相关的&#xff0c;我自己虽然现在已经不做 DPDK 了&#xff0c;但对这块仍然有兴趣&#xff0c;今天这篇文章就来总结下 DPDK 的技术栈。注意&#xff1a;这篇文章是小白文&#xff0c;不适合大神哦。 文章从 DPDK 的产生背…

Qt应用软件【协议篇】MQTT官方源码编译安装

文章目录 QT官方代码选择对应的版本Qt Creator编译代码代码下载与编译安装mqtt命令行方式编译与安装代码示例QT官方代码 https://github.com/qt/qtmqtt/tree/5.15.2 选择对应的版本 我们可以在github上切换分支,切换到我们需要的版本上 Qt Creator编译代码 代码下载与编译…