当前位置:网站首页>应用层基础 —— 认识URL
应用层基础 —— 认识URL
2022-07-31 10:39:00 【abs(ln(1+NaN))】
URL(Uniform Resource Location)—— 统一资源定位,其实就是我们平时说的网址,形如https://www.baidu.com、http://192.168.11.77:80 都是 URL。
URL有什么用呢??我们平时说的上网,其实就是通过 URL 来访问各种网络资源
目录
一、上网的本质
开门见山,上网的本质就是,我们的主机作为客户端,在和服务器交互。
以刷抖音视频为例,我们所看到的视频都是在抖音的服务器上,要访问到抖音的视频资源,其实也是需要通过IP地址和端口号发送请求来获取到视频资源。
问题来了,我们在刷视频的时候,似乎并没有输入什么IP地址和端口号吧?一般服务器的IP地址和端口号是固定的,早在安装这个App的时候,抖音服务器的IP地址就已经存到你的手机里了。
二、认识URL的构成
假设服务器是一台Linux主机,我们使用IP地址和端口号就可以定位到这台主机,我们想看的视频、已经上传的视频都存在于这个服务器上,那么就必然存在对应的路径来让服务器找到这份资源。所以URL的格式如下:
(1) 协议方案名:http是众多应用层的一种,这就是在告诉对方你采用的协议是哪一种
(2) 服务器IP地址和端口号:既然要访问指定服务器,那自然少不了IP地址和端口号。
(3) 资源路径:定位到服务器以后,为了访问视频资源,那就需要通过路径来访问。
(4) 查询字符串:比如我们使用百度搜索的时候,要输入一些关键词,这里的关键词要放在查询字符串中。
三、为什么有些URL里没有IP地址和端口号?
以百度的网址为例(http://www.baidu.com),我们使用IP地址来访问,是没问题的,但是使用IP地址来访问不大方便,也不容易记住,所以我们一般使用域名(www.baidu.com)来访问。域名可以看作是IP地址的别名。
那为什么域名后面没有跟端口号?因为你所看到的协议和其使用的端口号是绑定关系。使用的是http协议,那么其对应的端口就是80,所以这里直接省略了端口号。
四、urlencode和urldecode(了解)
1、什么是urlencode和urldecode
在URL中 像 '?' 、 '/' 、'&'这样的符号属于特殊字符,如果在查询字符串中出现了这样的字符,肯定会引起歧义,所以我们一般需要对其进行转义(转码),也就是urlencode,对应的解码过程就是urldecode。
比如我们百度搜索C++,浏览器就会将我们搜索的词汇进行转码。
2、转码的规则
将需要转码的字符转为16进制,从右向左取4位(不足4位直接处理),每两位做一位,前面加上%,编码成%XY的形式。
假设字符串 '你好' 转化为16进制 是E4BD10E5A5BD
(1) 先从右到左取四位: E4BD A0E5 A5BD
(2) 在上面的基础上,每两位作为一个整体,前面加上%:%E4%BD %A0%E5 %A5%BD
所以你好,经过转码以后就变成了 %E4%BD%A0%E5%A5%BD
边栏推荐
- IBM SPSS Statistics 28软件安装包下载及安装教程
- 【23提前批】北森云计算-测开面经
- 7 days to learn Go, Go structure + Go range to learn
- Usage of exists in sql
- What is the encoding that starts with ?
- SQL study notes - REGEXP operator
- 《MySQL高级篇》五、InnoDB数据存储结构
- csdn file export to pdf
- Day113. Shangyitong: user authentication, Alibaba Cloud OSS, patient management
- 掌握SSR
猜你喜欢
随机推荐
SQL去重的三种方法汇总
Intranet Penetration Learning (IV) Domain Lateral Movement - SMB and WMI Service Utilization
Day113. Shangyitong: user authentication, Alibaba Cloud OSS, patient management
【JWT】JWT 整合
What is the encoding that starts with ?
强大的SQL计算利器-SPL
7 天能找到 Go 工作吗?学学 Go 数组和指针试试
NowCoderTOP28-34 binary tree - continuous update ing
darknet 源码阅读笔记-01-activation_kernels.cu
Centos7 install mysql5.7
Day113.尚医通:用户认证、阿里云OSS、就诊人管理
csdn文件导出为pdf
A Method for Ensuring Data Consistency of Multi-Party Subsystems
出色的移动端用户验证
darknet 硬件软件环境的设置和检测
怎样使用浏览器静默打印网页
Simple understanding of GCD
Many mock tools, this time I chose the right one
SQL如何从字符串截取指定字符(LEFT、MID、RIGHT三大函数)
《MySQL高级篇》四、索引的存储结构