Tomcat是学习Java web的第一个困难,把Tomcat,servlet,JSP理解明白对后期学习非常有帮助,本文介绍了关于服务器的一些自我理解和介绍,后面还会继续更新内容......
目录
1.服务器的理解
服务器其实就是安装了服务器软件的计算机,只不过有的计算机配置较高,是一个大铁柜,专机专用;而我们的计算机可以打游戏上网冲浪,但只要安装了特定的服务器软件,就可以被称为服务器,就比如我们的电脑此时安装了MySQL服务端,那么我们的电脑就是一个MySQL服务器,Tomcat服务器同理。
2.服务器的作用
服务器最本质的作用有两个:
- 将资源对外暴露
- 配合各种传输协议进行响应输出
3.服务器的相关概念
我们平时太习惯地址栏键入"www.baidu.com",无脑一回车就上网冲浪了。现在突然让你去访问隔壁的电脑,确实有点束手无策。
解决这个问题的方法可能有多种,这里介绍其中一种:通过服务器访问。
请先了解以下三个概念:
- IP:电子设备(计算机)在网络中的唯一标识,一个IP对应一台实体电脑
- 端口:应用程序在计算机中的唯一标识,一个端口只能被唯一程序占用
- 传输协议:数据传输的规则
一般来说,一个端口可以定位一个软件,但一个软件可以占用多个端口(你家的门,只属于你家,但可以有前后门)
同样的,网络上有几十亿台电脑,每台电脑都有自己的一串特有IP(不同局域网内可以相同),也就是说一个IP代表一台特定的实体电脑。IP可以精准定位一台电脑,但是还不足以让我们访问这台电脑。就好比你知道了我的门牌号,但是我没给你开门。所谓的门,就是一个端口,而端口的背后是应用程序。
注意:域名!=IP。
实际上一个IP可以对应多个域名。也就是说一台实体服务器(大铁柜),理论上可以有多个域名(虚拟主机)。实体服务器和网站是两个概念。IP只是对应实体服务器,而域名对应具体的网站。
如果两个域名对应同一个IP,那么必须设置其中一个域名为默认的,不然同一台服务器有两个虚拟主机,我该访问谁?
例如我们访问IP:115.239.210.27,然后我的电脑就找到了对应服务器,看起来这个IP完全等同于baidu.com,但是在这台服务器上配置了两个虚拟主机(域名),即www.baidu.com和tieba.baidu.com(如下图)
已经知道IP,就无需DNS解析,可直接访问服务器。若这个IP对应的服务器有两个虚拟主机,而用户Request请求行中又没有指定host,则会访问默认主机(因此服务器要事先指定默认主机!Tomcat默认localhost)
最后,再用Tomcat举个例子。比如,现在我有一台笔记本电脑(一个实体服务器),它的本机IP是192.168.112.1,我在上面装了Tomcat。如果Tomcat不改动配置,则默认只有一个虚拟主机localhost(默认主机)。
我开发了一个JavaWeb程序demo1部署到Tomcat,然后在浏览器输入下方地址
192.168.112.1:8080/demo1/index.html
访问我的电脑,虽然没有带host,但是localhost是默认的,于是访问它。
通常来说,一个IP对应一台服务器,服务器上只有一个主机。拿到IP基本就可以确定要访问哪个网站。
本文算是这篇知乎的帖子写的一个学习笔记,帖子的作者写的非常详细,大家可以参考观看。