计算机网络小知识归纳整理
本文归纳整理了一些计算机网络的基础知识。主要内容有ip地址、域名、url、端口号等。
一、ip地址是什么?
ip地址可以简单的理解为网络中一台主机的身份证。众所周知,网络中的主机数量数不胜数,他们之间要进行通信就必须有一种方式能够确定对方的身份,这种方式就是ip地址。每台主机上网时都拥有一个专门的ip地址,不能被其他主机所占用,通过ip地址可以访问到网络中成千上万主机的一台,即有了ip地址计算机就能通过网络进行通信。
目前存在两种类型的ip地址,ipv4和ipv6。ipv4由32位二进制数据组成,ipv6由128位的二进制数据组成。
二、域名是什么?
通过ip地址,可以访问到网络中的唯一一台主机.但是不管是ipv4还是ipv6类型的ip地址,记忆起来都是非常困难的。所以采用了域名的方式,一个域名对应一个ip地址,通过访问域名可以间接访问到其对应的ip地址。
域名由若干部分组成,各部分之间用小数点隔开,例如百度搜索的域名为”www.baidu.com“。、
域名和ip地址的关系
(1) 一个域名可以对应多个ip地址
一个域名对应多个ip,一般情况是为了提供高速稳定的访问体验。在该种情况下,一般是分线路分地区解析域名的,用户访问的过程中,会指向一个具体的ip地址,并不会同时访问多个。比如国外和国内的用户同时访问一个域名,国外的用户可能会将域名解析到国外服务器的ip地址,而国内用户则会解析到国内服务器的ip地址。所以虽然表面看来一个域名对应了多个ip地址,但是实际解析时域名和ip地址还是一一对应的。
(2) 一个ip地址可以对应多个域名
若一台计算机提供了多个服务,即一台主机可以作为多个网站的服务器,那么其唯一的ip地址可以对应不同的网站的域名。若不考虑传输带宽和主机的硬件设施,一台主机可以作为服务器搭建无数个网站,即一个ip地址可以对应无数个域名。当多个域名解析到统一个ip主机时,会指向主机上不同的空间,所以并不会造成冲突。
域名和ip地址之间是如何转换的?
域名容易记忆,但是计算机之间只能通过ip地址进行通信,域名和ip地址之间是相互对应的,他们之间的转换称为域名解析。域名解析过程由专门的域名解析服务器DNS(Domain Name System—域名系统)来完成。整个过程是自动进行的。
除了DNS,HOSTS也是一个域名解析工具,二者的区别在于HOSTS相当于一个本地的小型DNS服务器,计算机会现在本地的HOSTS文件中查找对应的IP,如果没有找到,才向DNS发出请求
三、URL是什么?
URL(Uniform Resource Locator,统一资源定位符)相当于网页的地址,通过URL我们可以访问到WEB服务器站点上的网页。所以简单来说URL就是网址,就是我们上网冲浪时在浏览器的地址栏中输入的网站地址。通过URL,浏览器会将WEB服务器站点上的网页代码提取出来,并翻译成漂亮的网页,供用户提取信息。
URL的一般由7个部分组成
1、protocol,使用的传输协议。最常用的是WWW中应用最广泛的协议——HTTP协议。格式为http://
2、hostname,主机名。指存放资源的服务器的域名或ip地址,有时在hostname前也可以包含链接到服务器所需的用户名和密码。格式为:username:password@hostname.
3、port,端口号。可选项,各种传输协议都有默认的端口号,如http协议的默认端口号是80,如果使用的是对应协议的默认端口号,则可以省略,否则该项不能省略。
4、path,路径。由0个或多个/分开的字符串,一般用来表示服务器上的一个文件目录或文件地址
5、 parameters,参数。可选项,用于指定特殊参数,由服务器端的程序自行解释
6、query,查询。可选项,用于给动态网页(使用CGI、ISAPI、PHP等技术制作的网页)传递参数,可以传递多个参数,用&符隔开,每个参数的名和值用”=“隔开。
7、 fragment,信息片段。本质上是一个字符串,用来指定网络中资源的片段。例如网页中有多个名词解释,可使用fragment直接定位到某一个名词解释。
举例说明:http://www.baidu.com/china/index.html
e.g:
1、http://代表超文本传输协议。用来通知服务器显示Web页,通常不用输入
2、www(World Wide Web)代表一个Web服务器,是指在因特网上以超文本为基础形成的信息网,若省略则代表协议是默认转向的。
3、baidu.com/代表一个装有网页的服务器的域名
4、china/代表服务器baidu.com/下的一个文件目录
5、index.html代表文件夹china/的一个HTML文件
域名和URL的关系
域名是网址的一个部分,用于指定存放资源的服务器的ip地址,而URL直接指到存放资源的具体地址
三、什么是Web路由?
Web开发过程中的路由(route)概念简单来说就是一个URL地址到函数的映射。
route
route指一条路由,由它实现一个URL路径到一个函数的映射。例如:
/goods ——> getGoods()
/goods/id ——> getGoodsId()
以上代表了两条路由,当访问服务器中的/goods时会执行 getGoods()函数,当访问服务器中的/goods/id时,会执行getGoodsId()函数。
router
router指一组路由route的集合,简单来说就是一个存放路由route的容器,当客户端或服务端接收到一个URL时,就会去查找URL对应的函数,这个过程是router来处理的。
router根据URL匹配route的过程中,不仅仅根据URL来匹配,还会根据请求的类型来看是否匹配,只有二者都匹配成功,才能找到正确的路由。
服务端路由
当服务端接收到来自客户端的请求时,会根据请求的URL地址,来找到相应的映射函数,然后执行该映射函数,并将函数的返回值发送给客户端。