资讯专栏INFORMATION COLUMN

什么是Web server

tomlingtm / 3287人阅读

摘要:静态意味着保持原样地提供动态意味着服务器会处理内容甚至实时地从一个数据库中产生它。其次,需要支持应用相关的规范,例如类库安全方面的特性。对于来说,就是需要提供运行需要的标准类库等。

Web server

在硬件部分,一个网络服务器是一个用来存储网站的组成文件(比如说 HTML 文档,图片,CSS 样式表,和 JavaScript 文件)以及交付它们到终端用户的设备的计算机。它跟互联网连接并可以通过域名像 mozilla.org 来被访问。

在软件部分,一个网络服务器包括几个控制网络用户如何访问托管文件的部分,至少是一个 HTTP 服务器 [HTTP server]。一个 HTTP 服务器是一个能理解URLs (网络地址) 和 HTTP (你的浏览器查看网页时所用的协议) 的软件。

Web server 在软件部分它通过HTTP协议来提供静态页面内容和图片服务.在很久之前,大多数内容都是静态的,并且HTTP 1.0只是一种传送文件的方式。但在不久后web服务器提供了CGI功能。这意味着我们可以为每个web请求启动一个进程来产生动态内容。现在,HTTP协议已经很成熟了并且web服务器变得更加复杂,拥有了像缓存、安全和session管理这些附加功能。到现在web server 和 application server其实越来越趋向统一.

静态和动态

粗略地说,一个服务器可以提供静态或者动态的内容。“静态” 意味着 “保持原样地提供”.“动态” 意味着服务器会处理内容甚至实时地从一个数据库中产生它。这个解决方案提供了更多的灵活性.

静态网络服务器(static web server),或者堆栈,由一个计算机(硬件)和一个 HTTP 服务器(软件)组成。我们称它为 “静态” 因为这个服务器把它的托管文件 “保持原样” 地传送到你的浏览器。

动态网络服务器(dynamic web server) 由一个静态的网络服务器加上额外的软件组成,最普遍的是一个应用服务器 [application server] 和一个数据库 [database]。我们称它为 “动态” 因为这个应用服务器会在通过 HTTP 服务器传送托管文件到你的浏览器前,对这些托管文件进行更新。

tomcat 与 nginx,apache的区别

严格的来说,Apache/Nginx 应该叫做「HTTP Server」;而 Tomcat 则是一个「Application Server」,或者更准确的来说,是一个「Servlet/JSP」应用的容器.

一个 HTTP Server 关心的是 HTTP 协议层面的传输和访问控制,所以在 Apache/Nginx 上你可以看到代理、负载均衡等功能。客户端通过 HTTP Server 访问服务器上存储的资源(HTML 文件、图片文件等等)。通过 CGI 技术,也可以将处理过的内容通过 HTTP Server 分发,但是一个 HTTP Server 始终只是把服务器上的文件如实的通过 HTTP 协议传输给客户端。

而应用服务器,则是一个应用执行的容器。它首先需要支持开发语言的 Runtime(对于 Tomcat 来说,就是 Java),保证应用能够在应用服务器上正常运行。其次,需要支持应用相关的规范,例如类库、安全方面的特性。对于 Tomcat 来说,就是需要提供 JSP/Sevlet 运行需要的标准类库、Interface 等。为了方便,应用服务器往往也会集成 HTTP Server 的功能,但是不如专业的 HTTP Server 那么强大,所以应用服务器往往是运行在 HTTP Server 的背后,执行应用,将动态的内容转化为静态的内容之后,通过 HTTP Server 分发到客户端。

前后端分离的开发方式

现在我们公司的业务都是通过Nginx托管静态的资源,(包括html, 图片, css等).浏览器获取到相应的静态资源后, 通过Ajax向我们的业务后台(Tomcat Application server)发送请求获取数据动态的生成页面. 这里Nginx就是一个http Server, Tomact就是Application server.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40567.html

相关文章

  • 什么Web server

    摘要:静态意味着保持原样地提供动态意味着服务器会处理内容甚至实时地从一个数据库中产生它。其次,需要支持应用相关的规范,例如类库安全方面的特性。对于来说,就是需要提供运行需要的标准类库等。 Web server 在硬件部分,一个网络服务器是一个用来存储网站的组成文件(比如说 HTML 文档,图片,CSS 样式表,和 JavaScript 文件)以及交付它们到终端用户的设备的计算机。它跟互联网...

    DesGemini 评论0 收藏0
  • WSGI简介

    摘要:提出这些规范的目的就是为了定义统一的标准,提升程序的可移植性。的对象处理完成后,会调用并且返回结果给,存放在中。比如可以检查是否有非法内容,检查是否有非法内容,为加上特定的等,这些都是可以的。的实现和部署要使用,需要分别实现角色和角色。 WSGI是什么 WSGI的全称是Web Server Gateway Interface,翻译过来就是Web服务器网关接口。具体的来说,WSGI是一个...

    Harpsichord1207 评论0 收藏0
  • session一致性架构设计实践

    摘要:最常见的,会把用户的登录信息用户信息存储在中,以保持登录状态。什么是一致性问题只要用户不重启浏览器,每次短连接请求,理论上服务端都能定位到,保持会话。在高可用时,如何保证路由的一致性,是今天将要讨论的问题。 一、缘起 什么是session?服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。 Web开发中,web-server可以自动为同一个浏览器的访...

    freewolf 评论0 收藏0

发表评论

0条评论

tomlingtm

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<