1.4.URL统一资源定位符
URL代表Uniform Resource Locator 统一资源定位符,也叫 URL地址 。是用于标识和定位Web上资源的地址,通常用于在Web浏览器中访问网站和文件。
URL由若干部分组成,scheme:// host : port / path
例如:
https://www.baidu.com
http://127.0.0.1:8080/baseweb/login.html?user=admin
jdbc:mysql://152.136.129.216:3306/metamooc
1.4.1.协议(Protocol)
协议(Protocol): 代表资源使用的协议。在这个例子中,协议是https, http。
此外还有ftp, ws, 以及jdbc:mysql 数据库的连接
1.4.2.域名(Domain name)
域名(Domain name):代表网站或服务器的域名。
在这个例子中,域名或者IP地址是www.baidu.com, 127.0.0.1。
1.4.2.1.DNS服务
互联网上的服务器的主机 host 是通过IP地址来标识的。
为了方便记忆将IP地址与域名(方便记忆的字符串)进行映射。
DNS是指Domain Name System,域名系统的英文缩写。它是因特网中用于将域名映射到IP地址的分布式数据库系统。DNS协议将域名转换为数字IP地址以便于计算机之间的通信。当您在Web浏览器中输入域名时,浏览器使用DNS来解析该域名,并将它转换为一个IP地址,然后使用该IP地址来连接到目标网站。
DNS工作流程是分层的,由多个不同的DNS服务器组成。当计算机需要解析域名时,它首先查询本地DNS服务器(通常位于本地网络或ISP提供的DNS服务器),如果本地DNS服务器没有答案,它就会向位于上一级的DNS服务器发送请求,一直到找到有关域名的记录为止。
DNS不仅提供域名到IP地址的映射,还可以提供其他信息,例如邮件服务器的地址、权威DNS服务器的地址、域名注册信息等。DNS是因特网架构中的重要组成部分,使得用户可以方便地访问Web上的资源。
DNS 服务器 IP : 8.8.8.8 ( google ) 或者 114.114.114.114 ( 中国 )
1.4.2.2.IP地址
IP地址是指Internet Protocol Address(互联网协议地址),它是用于识别连接到互联网上的设备,每个设备的唯一的数字标识符。
IP地址可以分为两类:IPv4(Internet Protocol version 4)和IPv6(Internet Protocol version 6)。
IPv4地址由32位二进制数字组成,通常用四个数字(每个数字范围从0到255)表示,每个数字之间用句点分隔开,最多可以表示42亿个IP地址。然而,由于互联网的不断扩大,IPv4地址数量越来越不够用。
为了解决IPv4地址不足的问题,IPv6在互联网中得到了广泛的支持和部署。IPv6使用128位二进制数字表示,比IPv4的32位地址空间大了约340亿亿倍。IPv6地址的长度是IPv4地址的8倍,最大长度可以达到39个字符。
表示本机时通常使用 localhost
对应的IPv4是 127.0.0.1
IPv6是 ::1
1.4.3.端口 ( Port )
HTTP协议中通过IP地址区分不同的服务器主机,在同一主机中通过不同的端口来区分不同应用程序。
在这个例子中,端口是8080。
端口(port)用于标识应用程序应该使用的网络通信协议和在交换数据时使用的通信通道。每个端口号都与特定的应用程序关联。
80 是可以省略的默认端口
8080 通常是Web服务器的默认端口
3306 通常 是MySQL服务的默认端口
1.4.4.路径(Path)
路径(Path):代表资源在应用中的位置。
分为两个部分: Context Path 上下文路径, Servlet Path 服务路径
Context Path 上下文路径 : 对应应用名称, 在SpringBoot项目中默认为空, 可以设置
server.servlet.context-path=/baseweb
Servlet Path 服务路径 : 对应具体服务的路径, 在SpringMVC项目中使用 @RequestMapping 对应
1.4.5.查询参数
通常使用?
连接参数, 在RESTful风格下也可能混写在URL路径里
在这个例子中,参数是 ?user=admin。其中 user是标识, admin是值
1.4.6.URI
URI(Uniform Resource Identifier,统一资源标识符)在概念中是用来标识资源的字符串。
一个资源的 URI 可以是一个 URL,也可以是一个 URN(Uniform Resource Name,统一资源名称),它们都可以用来标识一个资源。
但在应用系统中通过
request.getRequestURI();
得到的是 路径 Path 部分在这个例子中是 /baseweb/login.html