初步认识URL

URL

URL是Uniform Resource Locator的缩写,中文称为统一资源定位符,它是一种用于在互联网上标识和定位资源的字符串。这个字符串可以被任何网络设备(如计算机、手机等)识别,并指向特定的资源,如网页、图片、视频等。URL的发明是互联网历史上的一个重要里程碑,它使得用户可以方便地访问互联网上的各种资源。

URL其实就是网址

URL的组成

URL的结构通常由以下几部分组成:

  1. 协议(Protocol):这是URL的第一部分,表示发送请求和接收响应的网络通信协议。常见的协议有HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)等。协议部分告诉浏览器或其他网络设备应该使用哪种方式来获取资源。

  2. 主机名(Host):这是URL的第二部分,表示服务器的名称或IP地址。用户在浏览器中输入的网址(如www.example.com)就是主机名。主机名告诉网络设备应该将请求发送到哪个服务器。

  3. 端口号(Port):这是URL的可选部分,表示服务器监听的端口号。在默认情况下,HTTP协议的端口号是80,HTTPS协议的端口号是443。如果URL中省略了端口号,那么将使用默认端口号。

  4. 路径(Path):这是URL的第四部分,表示服务器上资源的位置。路径部分通常以斜杠(/)开头,后面跟着资源的目录和文件名。路径告诉网络设备应该在服务器上哪个位置查找资源。

  5. 查询参数(Query):这是URL的可选部分,表示在路径后面的附加信息。查询参数通常是以问号(?)开始的键值对,用于向服务器传递额外的信息

URL的示例

一个典型的URL示例是:“http://www.example.com/index.html?name=John&age=30”

在这个URL中: 

  • 协议是“http”
  • 主机名/域名 是“http://www.example.com”
  • 路径是“/index.html”
  • 查询参数是“name=John&age=30”
  • 端口号被省略了,因此使用HTTP协议的默认端口号80

(省略的端口号会和域名进行强关联,由于域名会在浏览器中自动的转化成IP地址,所以当输入这一串网址时,浏览器会发送请求,自动的会在网址上进行拼接,将端口号80拼接上去)

关于域名:
  • 在URLhttp://www.example.com/index.html?name=John&age=30中, 域名是 "http://www.example.com"。
  • 域名是URL中用于标识网站或服务器名称的部分,它位于协议(http://)之后,路径(/index.html)之前。
  • 在这个例子中,域名由 "www" 子域和 "example.com" 顶级域(TLD)组成。
  • 不过,从技术角度来看,"www" 实际上是 "example.com" 的一个子域,但通常人们会将整个 "http://www.example.com" 视为域名。 

urlencode和urldecode 

URL编码(URLencode) 

URL编码是一种将不安全的ASCII字符转换为“%”后跟两位十六进制数的形式的过程。这些不安全的字符通常包括空格、特殊字符(如&=?等),以及非ASCII字符。URL编码的目的是确保URL中的所有字符都是有效的,并且可以被服务器正确地解析。

转义的规则如下: 将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY 格式

例如,空格在URL中是不安全的,因为它可能被解释为分隔符。因此,空格在URL编码中被替换为%20。类似地,&(和符号)被编码为%26=(等号)被编码为%3D,等等。

又例如:下图中的网址,网址内部的++符号编程了%2B%2B

URL解码(URLdecode)

URL解码是URL编码的逆过程,它将URL中经过编码的特殊字符转换回它们原来的形式。这通常发生在服务器端,当服务器接收到URL并需要解析其中的参数时。

应用场景:

  • URL编码通常用于构建查询字符串(query string),即将参数附加到URL的末尾。当参数中包含特殊字符时,这些字符需要被编码以确保它们被正确传输和解析。
  • URL解码则发生在服务器端,当服务器接收到包含编码字符的URL时,它会对这些字符进行解码,以便能够正确地读取和解析它们。
  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值