精华内容
参与话题
问答
  • 区分Web服务器、HTTP服务器、应用程序服务器

    万次阅读 多人点赞 2018-04-04 16:58:08
    进程听到和看到web服务器、HTTP服务器、应用程序服务器,但一直不知道它们有什么区别,迷惑了好久,今天查看的很多博客,终于算是梳理通了,下面我就来总结一下它们的区别,顺别了解一些服务器。 首先我们要知道web...

        在学习前端的过程中。进程听到和看到web服务器、HTTP服务器、应用程序服务器,但一直不知道它们有什么区别,迷惑了好久,今天查看的很多博客,终于算是梳理通了,下面我就来总结一下它们的区别,顺别了解一些服务器。

        首先我们要知道web服务器它只需支持HTTP协议、HTML文档格式及URL。其主要功能是传送页面使浏览器可以浏览,又因为它主要支持HTTP协议,所以通常情况下web服务器和HTTP服务器是相等的。通俗讲web服务器就是专门用来处理HTTP请求的。

        应用程序服务器可以简称为应用服务器,它主要的功能就是为客户端应用程序提供可调用的方法(应用程序提供(serves)商业逻辑)。

    以javaEE为例,Web服务我主要处理静态页面和作为Servlet容器,解释和执行servlet/jsp,而应用服务器是运行业务逻辑的。

        以这样的定义可对一些常见的服务器进行分类,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。下面就来了解一下这些服务器的主要作用:

    Apache

    在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。它对HTML页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet)。

    Tomcat

    早期的Tomcat是一个嵌入Apache内的JSP/Servlet解释引擎,Apache+Tomcat就相当于IIS+ASP(动态服务器页面)。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache进程运行。 而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把Tomcat叫做轻量级应用服务器。

    IIS

    微软早期的IIS,就是一个纯粹的Web服务器。后来,它嵌入了ASP引擎,可以解释VBScript和JScript服务器端代码了,这时,它就可以兼作应用服务器。从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的Web服务器。

    综上所诉:

    Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。Weblogic、WebSphere因为能提供强大的J2EE功能,毫无疑问是绝对的应用服务器。对于处于中间位置的Tomcat,它可以配合纯Web服务器Apache一起使用,也可以作为应用服务器的辅助与应用服务器一起部署:





    展开全文
  • HTTP服务器开发教程

    万次阅读 2010-08-07 09:42:00
    最近因为项目需要,必须自己实现一个HTTP服务器的部分功能。 需求大概是这样的,winform里使用webrowser控件显示一个本地的html页面,同时winform启动http服务,本地html页面里通过javascript使用XMLHttpRequest...

    <![CDATA[

    概述

    最近因为项目需要,必须自己实现一个HTTP服务器的部分功能。

    需求大概是这样的,winform里使用webrowser控件显示一个本地的html页面,同时winform启动http服务,本地html页面里通过javascript使用XMLHttpRequest对象向winform进行http通信,交互数据。

    现在,该项目功能基本实现了,把HTTP服务器部分提取出来分享一下,并提供相关源码下载。

    HTTP服务器开发教程

    启动HTTP服务器代码,创建Socket侦听端口

            public void Start(string ip = "127.0.0.1", int port = 80)

            {

                _IP = ip;

                _Port = port;

                Stop();

                _Listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

                IPAddress ipaddress = IPAddress.Parse(_IP);

                IPEndPoint endpoint = new IPEndPoint(ipaddress, _Port);

                _Listener.Bind(endpoint);

                _Listener.Listen(int.MaxValue);

                _Thread = new Thread(new ThreadStart(ThreadHandler));

                _Thread.Start();

            }

    开启一个线程,接收请求的Socket,并且用HttpRequest对象封装处理请求的Socket

            private void ThreadHandler()

            {

                while (true)

                {

                    Socket s = _Listener.Accept();

                    HttpRequest request = new HttpRequest(this, s);

                    request.Start();

                }

            }

    每个HttpRequest开启一个新线程处理Socket的发送和接收

            public void Start()

            {

                _Thread = new Thread(new ThreadStart(ThreadHandler));

                _Thread.Start();

            }

     

            private void ThreadHandler()

            {

                if (_Server.TraceInConsole)

                    Console.WriteLine("Begin HttpRequest...");

                try

                {

                    while (true)

                    {

                        string receive = Receive();

                        if (!string.IsNullOrEmpty(receive))

                        {

                            _Server.ReadRequest(this, receive);

     

                            string response = _Server.GetResponse(this);

                            int write = Send(response);

     

                            _Server.ResponseFinished(this);

     

                            while (true)

                            {

                                Thread.Sleep(3000);

                                write = Send(HttpServer.BYTES_CRLF);

                                if (_Client == null)

                                    break;

                            }

                        }

                        if (_Client == null)

                            break;

                        Thread.Sleep(1000);

                    }

                }

                catch (Exception ex)

                {

                    if (_Server.TraceInConsole)

                        Console.WriteLine(ex.Message);

                }

                if (_Server.TraceInConsole)

                    Console.WriteLine("End HttpRequest...");

            }

    处理HTTP请求,默认是返回http404错误,在GetResponse添加自定义http处理

            public virtual string GetResponse(HttpRequest request)

            {

     

                return ResponeNotFound(request.Version);

            }

            public string ResponeNotFound(string version)

            {

                return version + @" 404 Not Found

    Content-Length: 0

    Content-Type: text/plain

    Server: Hunk's http server

    Date: Fri, 06 Aug 2010 14:00:23 GMT

     

    ";

            }

    处理Socket关闭,TIME_WAIT状态

    如果服务端的Socket比客户端的Socket先关闭,会导致客户端出现TIME_WAIT状态,占用系统资源。

    服务端尝试发送数据,利用SocketExeception判断客户端Socket是否已关闭连接,然后关闭服务端Socket。

                while (true)

                {

                    Thread.Sleep(3000);

                    write = Send(HttpServer.BYTES_CRLF); //如果发送失败,_Client会被关闭并且设置为null

                    if (_Server.TraceInConsole)

                        Console.WriteLine("Try To End HttpRequest...");

                    if (_Client == null)

                        break;

                }

    注:只提点主要的位置,详细请下载源码。

    HTTP服务器和客户端的效果图

    源码下载地址

    http://download.csdn.net/source/2602863

     

    ]]>

    展开全文
  • 我的HTTP服务器

    千次阅读 2010-08-11 13:02:00
    轻量级的HTTP服务器,功能控制、扩展方便,能够很容易就把代码集成到其他winform应用。  效果图 用IE访问 欢迎交流 MSN:hunk.cai@hotmail.com QQ:157859303 有兴趣想开发自己的HTTP服务器的,请...

    技术平台:.net

    作品介绍:

    • 基于Sokect技术构建
    • 目前只支持静态文件,功能正在逐步完善…
    • 轻量级的HTTP服务器,功能控制、扩展方便,能够很容易就把代码集成到其他winform应用。

     

    效果图

    用IE访问

    欢迎交流

    MSN:hunk.cai@hotmail.com

     

    QQ:157859303

     

    有兴趣想开发自己的HTTP服务器的,请参考本人另一文章,有相关源码:HTTP服务器开发教程

    展开全文
  • 超小型HTTP服务器

    千次阅读 2007-12-20 21:15:00
    ...简单而且实用的一个HTTP服务器,默认为80端口 130K大小使用时只要指定一个主页就可以了下载地址:https://forum.eviloctal.com/job-htm-action-download-pid-tpc-tid-31689-aid-12303.html
    .

    .

    .

    简单而且实用的一个HTTP服务器,默认为80端口 130K大小

    使用时只要指定一个主页就可以了



    下载地址:
    https://forum.eviloctal.com/job-htm-action-download-pid-tpc-tid-31689-aid-12303.html
    展开全文
  • 手写Http服务器

    千次阅读 2020-10-31 12:03:29
    你写的一个Html页面,丢到服务器,启动一个Web服务(Tomcat/Nginx),然后大家就可以访问了,为什么?...HTTP允许Web服务器和浏览器通过网络发送和接收数据,是一种基于【请求-响应】的协议。 说白了HT
  • 什么是http服务器

    万次阅读 多人点赞 2019-02-25 10:13:43
    本篇文章旨在从服务器后台开发的角度剖析一个简单的http服务器的运行原理. 我们知道浏览器是http(s)的客户端,目的是连接远程的http服务器,然后服务器返回浏览器数据.浏览器接收数据解析数据之后展现出来.我们看到的...
  • 搭建http服务器

    千次阅读 2019-06-04 15:58:37
    使用tomcat搭建HTTP文件下载服务器 用简单的方法实战演练搭建http服务器(Windows上) 超简单——自己搭建ftp服务器(python nodejs)
  • 从零实现一个http服务器

    万次阅读 多人点赞 2018-05-18 12:44:42
    我始终觉得,天生的出身很重要,但后天的努力更加重要,所以如今的很多“科班”往往不如后天努力的“非科班”。...我面试过很多求职者,一说到http协议,他们能滔滔不绝,然后我问他http协议的具...
  • 在很多情况下,需要在本地开启http服务器来测试。所以就需要一个简单的省事好用的http服务器。以前的时候,都是使用php的本地环境,但是,自从学了nodejs,发现了http-server好东西。不用配置直接在当前文件夹内打开...
  • 一、安装WEB服务器 1.选择添加角色和功能 2.一直下一步到选择web服务器 3.添加功能 4.角色服务可以按需选择,这里直接默认 5.一直下一步,耐心等待安装成功 二、配置IIS 1.安装成功后右键IIS就可以...
  • HTTP服务器搭建

    千次阅读 2018-06-19 11:36:56
    借助hfs这个软件很轻易的搭建http服务器,这样做升级的话很效率高。。很多客户端做升级。需要在后台写服务端软件。这种沟通过socket来玩的话。很费精力。。后面看到hfs这个软件。然后在客户端用libcurl这个库来做...
  • 小型HTTP服务器

    千次阅读 2017-04-10 13:38:47
    本文的重点是介绍HTTP服务器的框架结构,旨在了解HTTP服务器的工作流程,所以我们在下面我们会实现一个多线程的HTTP/1.0版本服务器,这个HTTP服务器主要支持GET和POST方法。在实现HTTP服务器之前,我们首先要了解...
  • iPhone Http 服务器Mongoose的使用

    万次阅读 2011-12-01 16:02:05
    Mongoose 是一个可嵌入到你的iPhone App 中的“轻量级”的http服务器,它是基于BSD 协议的开源项目,它的作者是Sergey Lyubka。项目地址位于:https://github.com/face/MongooseDaemon#readme它的使用非常简单,你...
  • 使用C#开发HTTP服务器系列之Hello World

    万次阅读 多人点赞 2016-06-25 09:12:23
    从今天起,我将开始撰写一组关于HTTP服务器开发的系列文章。我为什么会有这样的想法呢?因为人们对Web技术存在误解,认为网站开发是Web技术的全部。其实在今天这样一个时代,Web技术可谓是无处不在,无论是传统软件...
  • Web服务器、HTTP服务器及应用服务器有何区别?Apache、Nginx、IIS、Tomcat、JBoss、Weblogic、WebSphere 都各属于哪种服务器? Web服务器是指驻留在Internet上的计算机程序,它的基本功能是提供Web信息浏览服务。...
  • 用Java编写你自己的简单HTTP服务器

    万次阅读 多人点赞 2012-02-26 20:20:16
    HTTP是个大协议,完整功能的HTTP服务器必须响应资源请求,将URL转换为本地系统的资源名。响应各种形式的HTTP请求(GET、POST等)。处理不存在的文件请求,返回各种形式的状态码,解析MIME类型等。但许多特定功能的HTTP...
  • Go语言 简单的http服务器示例

    万次阅读 2014-04-20 16:06:53
    一个简单的http服务器代码 package main import ( "io" "net/http" "log" ) func HelloServer(w http.ResponseWriter, req *http.Request) { io.WriteString(w, "hello, world!\n") } func ma
  • Qt Http服务器简单变成https服务器

    千次阅读 2018-05-11 18:05:10
    一开始qt http服务器还是好简单,因为就是TCP连接上面一个简单协议。后来听说发布小程序必须用到https+域名,估计好多刚开始往小程序里跑的小伙子都哭晕在测所。不过我不负责写小程序,我负责搞用qt 写个http的...
  • eNSP模拟HTTP服务器 HTTP服务器设置 Cliient5客户端信息配置
  • 使用C#开发HTTP服务器之支持HTTPS

    万次阅读 2017-03-15 20:21:19
    本文是“使用C#开发HTTP服务器”系列的第六篇文章,在这个系列文章中我们实现了一个基础的Web服务器,它支持从本地读取静态HTML页面,支持GET和POST 两种请求方式。该项目托管在我的 Github 上,项目地址为:...
  • 我的HTTP服务器(2)

    千次阅读 2010-08-24 16:35:00
    上一篇:我的HTTP服务器 自从开发了属于自己的http服务器,随着功能的逐渐完善,一个实用的技术框架逐渐形成。 前端实用flex技术平台发布应用,与用户进行交互。 后端http服务器处理flex前端的http请求。 ...
  • HFS搭建HTTP服务器

    万次阅读 2018-06-12 17:39:34
    本文介绍用HTTP服务器工具软件HFS建立一个临时的HTTP文件服务,使能通过手机浏览器等访问下载计算机中的指定文件。 1. 简介 HFS ~Http File Server,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案...
  • 在之前的博文中, 我陆续说过如何搭建ftp, sftp, tftp服务器, 在本文中, 我们来继续聊如何实战搭建一个http服务器http服务器有很多种, 如tomcat,apache等, 然而, 很多新手无法搭建和配置成功, 颇为受挫,...
  • pomelo服务器集群中集成http服务器

    千次阅读 2015-08-19 18:04:34
    运维部门需要一个http服务器,来查询服务器及玩家的一些数据。 在做的过程中考虑的是两个问题: 1 这个http服务器挂在什么地方? 为了不污染pemelo的代码,做了一个httpServer的组件,在gate服务器中加载。 ...
  • 阿帕奇HTTP服务器下载与安装

    万次阅读 多人点赞 2013-10-14 12:38:09
    阿帕奇HTTP服务器下载与安装.
  • c语言编写http服务器

    千次阅读 2018-09-27 10:26:24
    一直想弄一下http服务器,一直没有深入的去看http协议。 昨天研究了一天,查看源码和优化,终于实现了。也稍微的理解了一下http协议。 身为一个嵌入式工程师,需要了解http协议吗?显然是必要的, 例如:你有一个...
  • 1.Node.js 搭建http服务器1.1创建server.jsvar http = require('http'); var querystring = require('querystring'); http.createServer(function (request, response) { console.log('receive request'); ...
  • 用Dart搭建HTTP服务器(1)

    千次阅读 2015-06-13 17:27:42
    基本的HTTP服务器import 'dart:io'; main(List<String> arguments) { //绑定一个IPv4的HttpServer,设置8089端口 HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8089).then((server){ //显示服务器地址和端口...
  • web/http服务器实现

    千次阅读 2020-02-08 14:18:45
    需求分析:实现基本的HTTP服务器,支持浏览器的访问(支持标准http协议) 接收浏览器发送HTTP请求; 解析请求数据,请求方式(GET),请求文件(html…),协议版本; 根据请求构建响应头,发送响应头: ...
  • netty实现http服务器

    千次阅读 2017-10-21 12:08:26
    本文主要讲解如何用Netty 实现一个简单的http服务器。 1 http 请求消息 Http的请求由三部分组成:请求行、消息头、请求正文(body)。 请求行以一个方法开头,以空格分开,后面跟着请求URI和协议版本,格式为:...

空空如也

1 2 3 4 5 ... 20
收藏数 287,278
精华内容 114,911
关键字:

http服务器