python网络爬虫基础:URL的组成与结构

       URL(Uniform Resource Locator,统一资源定位符),常被称为网页链接、网址,用于在互联网中唯一标识资源的位置。一个典型的 URL 包含以下几部分:

1. 协议(Protocol)

  • 协议指定了访问资源的方式或规则。最常见的协议有 HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)等。
  • URL 中,协议后面紧跟着“://”,如 https://

示例:在 https://example.com 中,https 是协议。

2. 主机名或域名(Hostname/Domain)

  • 域名是指资源所在的服务器地址,通常是人类可读的名称(例如 www.example.com)。
  • 域名由多个部分组成,最右边的部分称为*域名(TLD),如 .com.org.cn 等。前面的部分称为二级域名或子域,如 example。如果有额外的部分(如 blog.example.com),则称为三级或更高级别的域名。
  • www全称为World Wide Web,万维网简称,是一种全球性的域名,代表整个互联网。大部分的URL均存在此域名,不过近年来也有部分URL放弃了这一部分,表示不将站点标识为万维网的一部分。
  • 一些 URL 中可能会直接使用 IP 地址(例如 192.168.0.1),代替域名。

示例:在 https://example.com 中,example.com 是域名。

3. 端口号(Port)

  • 端口号用于指定服务器上一个特定服务的入口,默认端口号通常可以省略。
  • 不同协议有默认端口号,例如 HTTP 的默认端口号是 80,HTTPS 是 443。如果使用了非默认端口,则需要在 URL 中指定。

示例:在 https://example.com:8080 中,8080 是端口号。

4. 路径(Path)

  • 路径表示资源在服务器中的具体位置,通常以“/”分隔层级。
  • 路径可以指向一个文件或一个目录,可以为空,表示访问网站的默认页面。

示例:在 https://example.com/docs/index.html 中,/docs/index.html 是路径。

5. 查询参数(Query Parameters)

  • 查询参数为键值对结构,用于向服务器传递额外信息。多个参数之间使用“&”分隔。
  • 查询参数以“?”开始,格式为key=value

示例:在 https://example.com/search?q=URL&lang=zh 中,q=URLlang=zh 是查询参数。

6. 片段标识符(Fragment Identifier)

  • 片段标识符用于指向页面内的特定位置,以“#”开头。
  • 片段通常用于网页的内部导航,在 URL 中定位资源内部的某个部分。

示例:在 https://example.com/docs/index.html#section1 中,#section1 是片段标识符。

7.总结

       一个完整的 URL 结构示例如下:

https://example.com:8080/docs/index.html?q=URL&lang=zh#section1

  • https:协议
  • example.com:域名
  • 8080:端口号
  • /docs/index.html:路径
  • q=URL&lang=zh:查询参数
  • #section1:片段标识符

8.题外话

       URI(Uniform Resource Identifier,统一资源标志符),包括URL与URN(Uniform Resource Name,统一资源名称),后者只对资源进行唯一命名但没有定位信息,普遍出现较少,故一般情况下可以将URI与URL等价,URL是传播更加广泛的称呼。

上一篇:字符串摘要-源码Java


下一篇:【网络原理】网络地址转换----NAT技术详解