一个完整的网址都有什么?网址(url)各部分都代表什么?
一、引入
提到网址我们需要先了解一些概念:
计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统.
协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信的规则被称为网络通信协议。
它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。
IP地址:要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号.也就是设备的标识.
IP地址主要分为IPv4和IPv6.
域名:即网域名称,是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。
域名可以说是一个IP地址的代称,目的是为了便于记忆后者。例如,baidu.com是一个域名。人们可以直接访问baidu.com来代替IP地址,然后域名系统(DNS)就会将它转化成便于机器识别的IP地址。
这样,人们只需要记忆baidu.com这一串带有特殊含义的字符,而不需要记忆220.181.38.148这种没有含义的数字。
端口:网络的通信,本质上是两个应用程序的通信.每台计算机都有很多的应用程序,那么在网络通信时,如何区分这些应用程序呢?如果说IP地址可以唯一标识网络中的设备,那么端口号就可以唯一标识设备中的应用程序了.也就是应用程序的标识.
端口号的范围是:0~65535.
二、常见协议
1、HTTP协议。
HTTP协议,是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP是万维网的数据通信的基础。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。
URL包含了用于查找某个资源的足够的信息,是互联网上用来标识某一处资源的具体地址,相当于本地文件路径中的绝对路径,互联网上的每个文件都有一个唯一的URL。
简单来说一个网址,就是一个URL。
2、HTTPS协议
即超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。
HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
HTTPS的主要作用是在不安全的网络上创建一个安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的防护。HTTPS的信任基于预先安装在操作系统中的证书颁发机构(CA)。
HTTP的URL是由“http://
”起始与默认使用端口80,而HTTPS的URL则是由“https://
”起始与默认使用端口443。
HTTP不是安全的,而且攻击者可以通过监听和中间人攻击等手段,获取网站帐户和敏感信息等。HTTPS的设计可以防止前述攻击,在正确配置时是安全的。
三、一个完整的网址都包括那些内容:
网址简化: 协议://域名:端口号/资源位置?参数=值
分析:
资源位置,用于描述WEB资源再服务器上的位置。
参数=值,浏览器和服务器交互传递的数据。
其中, ? 是参数和路径连接的符号(第一个参数和路径拼接使用?); & 是参数和参数之间连接的符号(参数和参数之间的拼接使用 &)
完整的网址(url)中文版本: 协议://主机名(域名):端口号/路径/文件名?查询字符串#锚点
英文版本: protocal://hostname:portname/pathname/?search#hash
四、各部分具体是什么:
以百度文库的url举例:https://www.wenku.baidu.com/search?word=%E7%99%BE%E5%BA%A6&ie=utf-8
1、协议部分
protocal 指的是返回使用的Web协议,在Internet中可以使用多种协议,如HTTP,FTP等等。
常用的有:
(1)file: 本地磁盘访问,主要是访问本地文件。
(2)http: 即HTTP协议。
(3)https: 即HTTPS 协议。
例子中URL的协议部分为“https:”,这代表网页使用的是HTTPS协议。在"https"后面需要加上“//”为分隔符。
2、域名部分
hostname 返回Web主机(域)名 IP(在Web网络下找到当前网络的地址),一个URL中,也可以使用IP地址作为域名使用。域名或IP地址,都可以访问WEB资源。
例子中URL的域名部分为“www.wenku.baidu.com”。
3、端口部分
port 端口号(默认隐藏),跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。程序必须使用端口号,才可以让另一个计算机访问。
通过hostname:port 可以直接定位当使用网络的程序。
端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口。
常见默认端口:
浏览器 8080
http 80
https 443
4、虚拟目录(查询路径)部分
pathname查询路径,从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。
虚拟目录也不是一个URL必须的部分。本例中无虚拟目录。
5、文件名部分
从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。
本例中文件名为"search"。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名。
6、参数部分
search 参数,从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。
一般样式:?name1=value1&name2=value2
参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
本例中的参数部分为“word=%E7%99%BE%E5%BA%A6&ie=utf-8”。
7、锚部分
hash 锚点,从“#”开始到最后,都是锚部分。
本例中无锚部分。锚部分也不是一个URL必须的部分