什么是 Web server

 前端开发人员应该对 Web 开发中的基本概念有一些了解,请简述

  1. 什么是 Web 服务器
  2. Web 服务器能做什么

首先我们来了解什么是服务器(server)

一般来说,server 有两重意思

  1. 有时候 server 表示硬件,也就是一台机器。它还有另一个名字:「主机」。
  2. 更多时候,server 表示软件程序,这种程序主要用来对外提供某些服务,比如邮件服务、FTP 服务、数据库服务、网页服务等。

作为开发者,我们说 server 的时候,一般指的后者,也就是一个 24 小时运行的软件程序。

一台主机上面可以运行多个这样的程序。

什么是 Web Server?

顾名思义,Web Server 就是提供 Web 服务的 Server。web server的主要功能是:存储,处理和传递网页给客户,

它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的(有没有支持除HTTP之外的协议的web服务器,没有考证过)

比如我们访问 http:// ,其实就是在使用百度的 Server 提供的服务。

一般来说, Web Server 对外提供的是 HTTP 服务(也可以是其他服务),这就是为什么我们的网址都以「http://」开头。

如何提供 HTTP 服务?

下面是有 Node.js 写的一个最简单的 HTTP server

// 文件名 index.js
// 使用 node index.js 可运行本程序

var http = require('http')

var server = http.createServer( function (request, response){
    response.end('这是页面内容,你请求的路径是:' + request.url)
})

server.listen(8080, function(){
    console.log("正在监听 %s 端口", 8080);
});

你不用看懂这段程序,你只需要知道两件事情:

  1. 这段程序监听了当前机器的 8080 端口。
  2. 一旦外部访问当前机器的 8080 端口,这段程序就会返回一段文字。

这就是一个最简单的 HTTP server。

提供HTTP服务的web server分类

提供 HTTP 服务的 web server 分为两类。

1. 静态文件服务器

这种服务器简单地根据访问路径,返回对应的文件。

比如用户访问 http:// 123.123.123.123:8080/a/b/c/d.html,那么这种服务器就会在网站根目录找到 a/b/c/d.html 文件,原样返回给用户。

2. 动态内容服务器

这种服务器返回的内容一般不是文件,而是动态生成的字符串(比如从数据库中获取的字符串)。

比如用户访问 http:// ,那么这种 的服务器则会返回当前用户最新的消息。显然每个用户得到的内容是不一样的。

(The end)

 

posted @ 2018-12-21 09:53  灵笑若然  阅读(11599)  评论(0编辑  收藏  举报