站点工具

用户工具


什么是 Web 服务器(server)

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

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

--------

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

一般来说,server 有两重意思

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

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

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

什么是 Web Server?

顾名思义,Web Server 就是提供 Web 服务的 Server。

比如我们访问 http:// http://baidu.com,其实就是在使用百度的 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 服务的 server 分为两类。

1. 静态文件服务器

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

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

2. 动态内容服务器

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

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

以上,就是 Web 服务器的简单描述。

欢迎进群与我探讨技术,微信 frank_fang

饥人谷一直致力于培养有灵魂的编程者,打造专业有爱的国内前端技术圈子。如造梦师一般帮助近千名不甘寂寞的追梦人把编程梦变为现实,他们以饥人谷为起点,足迹遍布包括facebook、阿里巴巴、百度、网易、京东、今日头条、大众美团、饿了么、ofo在内的国内外大小企业。 了解培训课程:加微信 xiedaimala03,官网:https://jirengu.com

本文作者:饥人谷方应杭老师

若愚 · 2023/02/09 13:39 · 每日一题_什么是_web_服务器_server.txt