对于一个前端开发的人员来说,了解服务器的基础知识,个人觉得是非常必要的,于是就有一个这篇侧重于Java的服务器相关知识的文章,只是简单介绍对于我也是一个拓展。
首先我们来说一下服务器的架构,在很早以前 C/S架构的服务器大行其道,随着时间的推移,这种两层架构的服务器模式逐渐被 B/S 架构的WEB服务器所替代。
关于这俩者的详细关系和比较,你可以百度百科下,不过在我看来,简述下俩者的不同大体有如下方面:
聊到这里有个词需要解释下,什么是三层架构
通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。
B/S 三层架构,采用这种分层(数据层、逻辑层、界面层)设计编码实现的b/s模式的软件就是b/s三层架构的软件
因为所有的模块角色只会有三种:数据管理者、数据加工者、数据展示者,意思也就是,笼统说来,软件只会有三层,每一层扮演一个角色。其他的第四层第五层,一般都是这三层里面的其中之一分出来的,最后都能归纳进这三层的某一层中去,所以用三层架构来描述就比较普遍。
Web服务器的最底层实际上是一个socket。这个socket监听并接受到达的TCP连接。一旦一个连接被建立,就可以通过这个新建立的连接读取、解析信息,然后将这些信息包装成一个HTTP请求。这个HTTP请求还将被移交至web应用程序,来完成请求的动作。
目前主流的服务器方案是 **中小型服务器: Tomcat 大型服务器: Apache +Tomcat **
关于 Tomcat 与 Apache 的关系大体如下:
首先我们需要先了解下Servlet
Servlet(Server Applet),全称Java Servlet,暂无中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Tomcat是Servlet的容器,Servlet 是一种运行在支持Java语言的服务器上的组件,它与普通Java类的区别就是它运行在服务器上。由于Java的平台无关性,再加上Servlet 运行在服务器端,因此 Servlet 对于用户是完全透明的。
Servlet 容器的作用是负责处理客户请求。当客户请求来到时,Servlet容器获取请求,然后调用某个Servlet,并把Servlet的执行结果返回给客户,Tomcat就是起到这样作用的容器。
当客户请示某个资源时,Servlet容器使用 ServletRequest 对象把客户的请求信息封装起来,然后调用 Java Servlet API 中定义的一些Servlet 方法,完成Servlet的执行,接着把Servlet 执行的要返回给客户的结果封装到 ServletResponse对象中,最后Servlet 容器把客户的请求发给客户,完成为客户的一次服务过程。
Paste_Image.png
我们常常听到 HTML、CSS、JavaScript在网页编程中都会使用到,那到底他们的作用是什么呢,这里打个比喻方便大家大致了解下其各自不同的功能作用。
如果把一个网页比作一个人的话,HTML就是这个人的躯干,CSS就是这个人的衣服,而JavaScript就是这个人的行为动作。
这里罗列了一些关于服务器端乃至Web前端开发的知识,虽然很浅显,但是对于我们开发者来说,了解这些也是一种拓展。