动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

一文解答什么是HTTP Server

05-08 15:05 5612浏览
举报 T字号
  • 大字
  • 中字
  • 小字

HTTP Server是什么呢?一般来说,HTTP Server 也是我们常说的Web服务器,大名鼎鼎的 Apache,还有微软的 IIS (Internet Information Server),开源领域的有 Lighttpd 和最近风头正劲的 Nginx 都是典型的Web服务器。当然,我们仅凭这一句话是远远不够了解什么是HTTP Server的,这还要我们结合一些其他的知识来解答。

HttpServer类实现一个简单的HTTP服务器。HttpServer绑定到IP地址和端口号,并侦听此地址上来自客户端的传入TCP连接。该子类HttpsServer实现了一个处理HTTPS请求的服务器。Web服务器传送(serves)页面使浏览器可以浏览,然而服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求。

一个或多个HttpHandler对象必须与服务器关联才能处理请求。每个此类HttpHandler都注册有一个根URI路径,该路径表示应用程序或服务在此服务器上的位置。处理程序到HttpServer的映射由HttpContext对象封装。HttpContext是通过调用创建的createContext(String,HttpHandler)。找不到任何处理程序的任何请求都会被404响应拒绝。通过提供对象,可以在该对象外部进行线程管理 Executor。如果未提供,则使用默认实现。

提供 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服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。

讲到这里,对于HTTP Server是什么的问题就相当明朗了,HTTP Server实际上就是Web服务器,HTTP Server的由来实际上是因为Web服务器可以解析(handles)HTTP协议。想深入学习Web服务器的小伙伴可以观看动力节点在线的视频课程,里面对Apache和 IIS都有很详细的介绍。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵279
程序员代码小兵279

75篇文章贡献270037字

作者相关文章更多>

推荐相关文章更多>

RabbitMQ使用及工作原理

代码小兵86504-19 19:55

Nginx反向代理的简单实例

代码小兵49806-21 15:40

Linux删除文件夹命令

代码小兵69607-21 11:32

Nginx配置详解

代码小兵12407-22 10:47

Linux更改ip地址的三种方式

代码小兵87207-21 12:51

发评论

举报

0/150

取消