什么是 Web server
前端开发人员应该对 Web 开发中的基本概念有一些了解,请简述
- 什么是 Web 服务器
- Web 服务器能做什么
首先我们来了解什么是服务器(server)
一般来说,server 有两重意思
- 有时候 server 表示硬件,也就是一台机器。它还有另一个名字:「主机」。
- 更多时候,server 表示软件程序,这种程序主要用来对外提供某些服务,比如邮件服务、FTP 服务、数据库服务、网页服务等。
作为开发者,我们说 server 的时候,一般指的后者,也就是一个 24 小时运行的软件程序。
一台主机上面可以运行多个这样的程序。
什么是 Web Server?
顾名思义,Web Server 就是提供 Web 服务的 Server。web server的主要功能是:存储,处理和传递网页给客户,
它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的(有没有支持除HTTP之外的协议的web服务器,没有考证过)
比如我们访问 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);
});
你不用看懂这段程序,你只需要知道两件事情:
- 这段程序监听了当前机器的 8080 端口。
- 一旦外部访问当前机器的 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:// http://weibo.com/home,那么这种 http://weibo.com 的服务器则会返回当前用户最新的消息。显然每个用户得到的内容是不一样的。
(The end)
什么是 Web server的更多相关文章
- Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]
1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...
- Flash: An Efficient and Portable Web Server
Introduction This paper presents the design of a new Web server architecture called the asymmetric m ...
- C#中自己动手创建一个Web Server(非Socket实现)
目录 介绍 Web Server在Web架构系统中的作用 Web Server与Web网站程序的交互 HTTPListener与Socket两种方式的差异 附带Demo源码概述 Demo效果截图 总结 ...
- 本机ip+端口不能访问web server,外部却可以访问
本机ip+端口不能访问web server,外部却可以访问! 这个奇葩的问题困扰了我好久,别人通过ip访问我的server一切正常,自己却访问不了,一度怀疑win10的问题,久寻无果! 最后关闭ads ...
- Difference between web server ,web container and application server
In Java: Web Container or Servlet Container or Servlet Engine : is used to manage the components lik ...
- vs默认VS Development Sever和用IIS Web Server的一点差别
关于VS Development Server(vs调试默认运行环境)和IIS Web Server 做运行服务器时,请求处理的一点区别. 将请求粗略分为两类:静态资源请求和动态资源请求. 静态资源请 ...
- [SDK2.2]Windows Azure Virtual Network (4) 创建Web Server 001并添加至Virtual Network
<Windows Azure Platform 系列文章目录> 在上一章内容中,笔者已经介绍了以下两个内容: 1.创建Virtual Network,并且设置了IP range 2.创建A ...
- The Web server is configured to not list the contents of this directory.
部署一个ASP.NET MVC网站至一个全新的服务器Windows Server 2008 R2, 数据为MS SQL Server 2014 64bit Expression版本. 运行时,它第一次 ...
- 【转】推荐介绍几款小巧的Web Server程序
原博地址:http://blog.csdn.net/heiyeshuwu/article/details/1753900 偶然看到几个小巧有趣的Web Server程序,觉得有必要拿来分享一下,让大家 ...
- Atitit。Web server Jetty9 使用 attilax 总结
Atitit.Web server Jetty9 使用 attilax 总结 1.1. 静态文件的资源1 1.2. Servlet使用1 1.3. code1 1.1. 静态文件的资源 WebAppC ...
随机推荐
- 2019安徽省程序设计竞赛 I.你的名字(序列自动机)
这题和今年南昌邀请网络预选赛M题很像啊,不过主串数量不是一个了 都是在主串中判断子串是不是属于主串的一个子序列 #include <iostream> #include <cstri ...
- uiautomator2+python自动化测试1-环境准备
前言 uiautomator是Google提供的用来做安卓自动化测试的一个Java库.功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有两个缺点 ...
- CentOS 6.x 无法格式化大于16TB的ext4分区处理
CentOS 6.x 在格式化大于16TB的ext4分区时,会提示如下错误: mke2fs 1.41.12 (17-May-2010) mkfs.ext4: Size of device /dev/s ...
- Ubuntu 14.04.2配置rsync
ubuntu系统自带rsync,首先配置/etc/default/rsync,启用daemon模式 修改/etc/rsyncd.conf配置文件 cat /etc/rsyncd.conf # samp ...
- Map集合迭代的两种方法
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; pub ...
- volatile 错误示范做线程同步 demo
这里 http://hedengcheng.com/?p=725 有对volatile 非常详细的解释,看完之后,心里一惊,因为我刚好在一个项目里用了文中错误示范那种方式来做线程同步,场景如下: Th ...
- 使用go初步调用etcd
使用go初步調用etcd package main import ( "context" "go.etcd.io/etcd/clientv3" "ti ...
- 为啥用DTO
0.部分参数对于开发前端的人来说是无意义的,因为传递也没有效果.所以不应该暴露给前端使用. 1.依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析. 2.减少请求次数,大大提高效率. 3 ...
- hibernate实现增删改查
1.需要先创建学生实体: package pers.zhb.domain; public class Student { private int studentno; private String s ...
- 【洛谷】P5024 保卫王国 (倍增)
前言 传送门 很多人写了题解了,我就懒得写了,推荐一篇博客 那就分享一下我的理解吧(说得好像有人看一样 对于每个点都只有选与不选两种情况,所以直接用倍增预处理出来两种情况的子树之内,子树之外的最值,最 ...