web服务器_web服务器配置 - CSDN
web服务器 订阅
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。 展开全文
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
信息
中文名
WEB服务器
外文名
Web Server
其他名字
WWW(WORLD WIDE WEB)服务器
WEB服务器词义辨析
什么是网络服务器?网络服务器是网络环境下为客户提供某种服务的专用计算机。WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 WWW 是 Internet 的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了WWW工具,才使得近年来 Internet 迅速发展,且用户数量飞速增长。Web服务器是可以向发出请求的浏览器提供文档的程序。1、服务器是一种被动程序:只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应 。2 、最常用的Web服务器是Apache和Microsoft的Internet信息服务器(Internet Information Services,IIS)。3、Internet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。4、Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。WWW是 World Wide Web (环球信息网)的缩写,也可以简称为 Web,中文名字为“万维网”。它起源于1989年3月,由欧洲量子物理实验室CERN(the European Laboratory for Particle Physics)所发展出来的主从结构分布式超媒体系统。通过万维网,人们只要通过使用简单的方法,就可以很迅速方便地取得丰富的信息资料。由于用户在通过 Web浏览器访问信息资源的过程中,无需再关心一些技术性的细节,而且界面非常友好,因而 Web 在Internet 上一推出就受到了热烈的欢迎,走红全球,并迅速得到了爆炸性的发展。长期以来,人们只是通过传统的媒体(如电视、报纸、杂志和广播等)获得信息。但随着计算机网络的发展,人们想要获取信息,已不再满足于传统媒体那种单方面传输和获取的方式,而希望有一种主观的选择性。网络上提供各种类别的数据库系统,如文献期刊、产业信息、气象信息、论文检索等等。由于计算机网络的发展,信息的获取变得非常及时、迅速和便捷。到了1993年,WWW 的技术有了突破性的进展,它解决了远程信息服务中的文字显示、数据连接以及图像传递的问题,使得 WWW 成为 Internet 上最为流行的信息传播方式。Web 服务器成为 Internet 上最大的计算机群,Web 文档之多、链接的网络之广,令人难以想象。可以说,Web 为 Internet 的普及迈出了开创性的一步,是近年来 Internet 上取得的最激动人心的成就。WWW 采用的是浏览器/服务器结构,其作用是整理和储存各种WWW资源,并响应客户端软件的请求,把客户所需的资源传送到 Windows 95(或Windows98)、Windows NT、UNⅨ 或 Linux 等平台上。使用最多的 web server服务器软件有两个:微软的信息服务器(iis),和Apache。通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。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)来让浏览器可以浏览。要知道,Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。应用程序服务器(The Application Server)根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函数)一样。应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于J2EE(Java 2 Platform,Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。例如,设想一个在线商店(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询(query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应用程序服务器的功能。情景1:不带应用程序服务器的Web服务器在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求(request),然后发送给服务器端(server-side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注:flat file是指没有特殊格式的非二进制的文件,如properties和XML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML形式,最后Web服务器把会它发送到你的Web浏览器。简而言之,Web服务器只是简单的通过响应(response)HTML页面来处理HTTP请求(request)。情景2:带应用程序服务器的Web服务器情景2和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)给脚本(译者注:服务器端(server-side)程序)。然而,你可以把查找定价的商业逻辑(business logic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookup service),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response)。这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。通过从响应产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。警告(Caveats)XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。另外,大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。
收起全文
精华内容
参与话题
  • 常见Web服务器简介

    千次阅读 2014-08-11 18:48:21
    常见Web服务器简介   Web服务器也称为WWW (WORLD WIDE WEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。  Unix和Linux平台下的常用Web服务器有Apache,Nginx,Lighttpd,Tomcat,IBM WebSphere、BEA...


    Web服务器也称为WWW (WORLD WIDE WEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。

      Unix和Linux平台下的常用Web服务器有Apache,Nginx,Lighttpd,Tomcat,IBM WebSphere、BEA Weblogic等,其中应用最广泛的是Apache。而WindowsNT/2000/2003平台下最常用的服务器则是微软公司的IIS C Internet Information Server )。

     

    下面对常见的WEB服务器进行简单介绍,后续对其中一些主要的服务器进行实际环境搭建。

     

    1.  Apache服务器

     

        Apache仍然是世界上用得最多的Web服务器,市场占有率达60%左右。它源于NCSAhttpd服务器,在NCSA WWW服务器项目停止后,那些使用NCSA WWW服务器的人们开始交换用于此服务器的补丁,这也是Apache名称的由来(pache补丁)。世界上很多著名的网站都是Apache的用户,它的优势主要在于源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix, Windows. Linux系统平台上),以及其可移植性等。Apache的模块支持非常丰富,虽在速度、性能上不及其他轻量级W eb服务器,但是属于重量级产品,所消耗的内存也比其他Web服务器要高。

    官方网站:http://httpd.apache.org/

     

    2.  Nginx服务器

     

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

    Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,是目前市面上唯一能和kangleweb server比拼的web server,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。

     

    官方网站:http://nginx.org/

     

    3.  Tomcat服务器

     

        Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的W eb应用软件容器。Tomcat Server是根据servlet和JSP规范执行的,因此也可以说Tomcat Server实行了Apache-Jakarta规范,且比绝大多数商业应用软件服务器要好。但是,Tomcat对静态文件、高并发的处理比较弱。

    官方网站:http://tomcat.apache.org

     

     

    4.  Lighttpd服务器

     

       Lighttpd是由一个德国人写的开源软件,其目标是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的Web  Server环境。它具有内存开销低、CPU占用率低、效能好,以及模块丰富等特点。支持FastCGI、CGI. Auth、输出压缩(output compress )、URL重写及Alias等重要功能。Lighttpd跟Nginx一样,也是一款轻量级Web服务器,是Nginx的竞争对手之一。

        官方网站:http://www.lighttpd.net/

     

     

    5.  Microsoft IIS 服务器


        Microsoft的W eb服务器产品为Internet Information Server C IIS ) .  IIS是允许在公共Intranet或Internet上发布信息的Web服务器。它是目前最流行的Web服务器产品,很多著名的网站都是建立在IIS平台上的。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。

       IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI ( Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。

        IIS只能运行在Microsoft Windows平台、LinuxNnix平台上,因此须要购买商业的Windows Server操作系统。

    演示网站:http://www.yangyufei.com

     

     

    6.  IBM WebSphere服务器

     

        WebSphere Application Server是一种T}}能完善、开放的Web应用程序服务器,是IBM电子商务计}}J的核心部分,它基于Java的应用环境,建立、部署和管理Internet和Intranet Web应用程序。这一整套产品目前己进行了扩展,以适应Web应用程序服务器的需要,范围从简单到高级,直到企业级。据IBM官方网站介绍,有10 000多个企业正在使用IBM WebSphere,相对于其他流行的Web服务器而言,应用的数量很少。

     

    官方网站:http://www.ibm.com/developerworks/cn/websphere

     

    7.  Oracle Weblogic服务器

    WebLogic是美商Oracle的主要产品之一,系并购得来。是商业市场上主要的Java(J2EE)应用服务器软件(applicationserver)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.1.1) 版。而此产品也延伸出WebLogic Portal, WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。

    WebLogic最早由 WebLogic Inc. 开发,后并入BEA 公司,最终BEA公司又并入 Oracle公司。

    webserver是用来构建网站的必要软件。可用来解析、发布网页等功能,它是用纯java开发的。weblogic本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展。BEA已经被Oracle收购,目前Weblogic最新版本为Oracle Weblogic Server 12c(12.1.1)。其他J2EE Application Server还有IBMwebsphereSun(Sun公司已经被ORACLE公司收购)Glassfishresin等。Apache Tomcat也是常用的Servlet/JSP Container国内厂商生产的还有像中创软件的Loong AS 9.0(达四级等保,全面支持国产)、东方通的Tongweb金蝶Apusic应用服务器等。

    BEA WebLogicServer拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。

    BEA WebLogic Commerce ServerTM配合使用,BEA WebLogic Server可为部署适应性个性化电子商务应用系统提供完善的解决方案。

    WebLogic长期以来一直被认为是市场上最好的J2EE工具之一。像数据库或邮件服务器一样,WebLogic Server 对于客户是不可见的,为连接在它上面的客户提供服务。WebLogic 最常用的使用方式是为在internet intranet 上的Web 服务提供安全、数据驱动的应用程序WebLogicJ2EE 架构的支持:WebLogic Server 提供了对SUN J2EE 架构的支持。SUN公司的J2EE 架构是为企业级提供的一种支持分布式应用的整体框架。为集成后端系统,如ERP系统CRM系统,以及为实现企业级计算提供了一个简易的,开放的标准。

    官方网站:http://www.oracle.com/us/corporate/acquisitions/bea/index.html

     

    8.  Boa服务器


    BOA 服务器是一个小巧高效的web服务器,是一个运行于unixlinux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。由于它是一个单任务的Web服务器,只能一次完成用户的请求,而不会fork出新的进程来处理并发的链接请求。但是Boa支持Cgi,能够为Cgi程序fork出一个进程来执行相应的客户请求。

     

    官方网站:http://www.boa.org/

      

    9.  W3C  Jigsaw服务器



    Jigsaw是W3C推出的开源的Web服务器平台,使用Java语言编写,可以安装在有Java运行环境的系统上。做为W3C(World WideWeb Consortium)开发的服务器产品,其作用主要是对新技术的实现做一个示例,而非全功能的商业服务器产品。

    不过就Jigsaw 2.0版本而言,它的功能还是超过了目前Web服务器的平均水平。最重要的是,它体现了未来HTTP协议和基于对象的Web服务器技术的发展。如果你希望你的平台支持所有下一代技术,Jigsaw是一个好的选择。

     

    官方网站:http://www.w3.org/Jigsaw/


    展开全文
  • Web服务器工作原理详解(基础篇)

    万次阅读 多人点赞 2018-09-18 16:39:04
    概述:Web服务器概念较为广泛,我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要是遵循HTTP协议而设计的...

    概述:Web服务器概念较为广泛,我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要是遵循HTTP协议而设计的网络应用程序都可以是Web客户端。

    Web服务器和HTTP服务器可以说是同一个东西,当然非得细分的话,HTTP服务器是建立在HTTP协议之上的提供文档浏览的服务器,更多的是提供静态的文件。而Web服务器涵盖了HTTP服务器(这一点可以自行百度百科), Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。
    Web服务器 约等于 HTTP服务器 + 其他服务

    目前所熟知的Web服务器有很多,其最主流的是 Apache, Nginx, IIS
    各大Web服务器的实现细节都不同,是为了某种情形而设计开发的。但是它们的基础工作原理是相同的,这也是本次基础篇所讲解的内容。

    一、Web服务器工作原理图解

    这里写图片描述
    首先我们暂时不考虑HTTP协议的各种请求方式,我们先跟着**(Web服务器工作原理总体描述01)这张图,将一次Web服务的工作流程过一遍,我们假设以浏览器作为客户端
    (1) 用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。
    (2) 浏览器与对端服务程序建立TCP连接。
    (3) 浏览器将用户的事件
    按照HTTP协议格式**打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。
    (4) 浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。
    (5) 服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。
    (6) 得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。
    (7) 将结果装入缓冲区,或是HTML文件、或是一张图片等。
    (8) 按照HTTP协议格式将(7)中的数据打包
    (9) 服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。
    (10) 浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。
    (11) 浏览器将HTML文件展示在页面
    以上为Web服务器工作基本原理。其实不难发现,这仅仅只是一个简单的网络通信。我们应该深信,作为一个服务器,其根本的工作无非有三个

    1. 接收数据 2. 发送数据 3. 数据处理
      而Web服务器的本质就是 接收数据 ⇒ HTTP解析 ⇒ 逻辑处理 ⇒ HTTP封包 ⇒ 发送数据
      高级的服务器无非就是将这三个部分更加细致的设计了。

    二、Web服务器之提供静态文件工作原理图解

    Web服务器最主要的功能是提供静态的文件。日常的上网浏览大多是网页浏览,少数时候才会有一些数据的提交操作。因此,我们结合上一张图示来重点讲解在GET请求下的Web服务器工作原理。
    这里写图片描述
    其他流程基本不变,着重在于红色与蓝色部分。
    (1) 当用户点击一个网页链接或浏览器加载一些资源(css,jpg …)时产生。
    (6) 服务程序解包后,确定其为GET请求,并且是对该服务器上的某一资源的请求。首先服务程序会去确认该路径是否存在,再确定该路径的文件是否可以获取。
    (7-1) 如果请求的路径有误,或者该资源不能被用户获取,则返回错误提示页面。很多服务器的错误页面只有404,更专业的应该是将错误分类并返回对应的错误代码页面。
    (7-2) 如果该路径合法且文件可以被获取,那么服务程序将根据该文件类型进行不同的装载过程,记录其类型作为(8)中HTTP协议中对应的返回类型,并加入响应头。

    假设以点击一个页面链接为例,浏览器首先将HTML文件请求过来,再以同样的流程对HTML文件中包含的资源文件路径进行依次请求。
    这里写图片描述

    三、Web服务器之数据提交工作原理图解

    仅仅只是网页的浏览并不能满足所有人的需求,客户端与服务器应当是有数据交互的。
    即使单方面的资源请求任然是网络的主力军。
    我们应该清楚的知道,数据提交对于用户来说有什么作用。
    (1) 资源上传 (2) 登陆验证 (3) API接口调用 (4) 远程指令等
    数据提交使得用户的操作性有了质的飞跃,它使得HTTP短连接获取静态文件的方式提升到了动态交互的层次上。该性质也催化出各式各样的编程语言、框架。例如PHP,JavaWeb。
    如果你留意目前主流的那些大型服务器,你会发现再高级再牛逼的东西实际是也是最基础的东西建造的。那么我们还可以顺便学习一下最古老的动态技术CGI
    这里写图片描述
    其他流程基本不变,着重在于红色与蓝色部分。
    (1) 用户提交数据,假设用户点击一个按键提交填好的信息。在(3)中将以POST格式写入,并填入提交至服务端的可执行程序的路径。
    (6) 服务端将参数与该CGI绑定,复制进程,用管道传递参数和接收结果
    (7) 子进程执行CGI,接收(6)父进程传来的参数,运算完成返回结果。
    最后父进程将结果装入静态模板文件,放入缓冲区

    四、动态技术

    我们得明白,Web服务器是以短连接为主,并且获取的数据到达浏览器的那一刻一定是静态的不变的。那么所谓动态实际是指两种情况

    1. 服务端产生
      (1) 用户POST提交数据到某个程序,程序根据该数据作为参数运行,得出结果并装入静态的模板页面中,返回该静态页面。但对于用户来说,同一个页面,做了一个操作后数据不一样了。好了,这就是动态页面。(CGI原理)
      (2) PHP的原理是,用户GET请求一个php后缀的文件,服务器先执行该php后缀文件中的PHP代码,将结果填入代码的位置,再返回。当然也可以提交数据参与运算再返回。
    2. 客户端产生
      (1) 用户GET请求一个JavaScript文件,服务端不做任何运算返回该静态文件。浏览器收到该JS文件,在本地执行并更新页面。
      (2) 用户POST提交数据到服务端,服务端根据该提交的数据指令返回静态文件,浏览器收到后执行并更新。
    展开全文
  • 搭建web服务器

    千次阅读 2018-06-18 07:40:41
    在本地pc上搭建web服务器,利用路由器,将本地pc和手机通过无线局域网组成局域网,本地ip为192.168.0.106,手机ip为192.168.101,win+r---->在cmd命令行窗口输入:ping 192.168.0.101.检查电脑和手机是否能...

    在本地pc上搭建web服务器,利用路由器,将本地pc和手机通过无线局域网组成局域网,本地ip为192.168.0.106,手机ip为192.168.101,win+r---->在cmd命令行窗口输入:ping 192.168.0.101.检查电脑和手机是否能ping通,如何能ping通,则进行下步操作,ping不通就检查网络与网卡的问题。

    下面就是如何搭建web服务器了,window其实自带了web服务器与客户端,挺好用,为了简单考虑,我直接使用window自带的IIS来搭建web服务器,首先默认情况下,IIS是没有开启的,比如telnet客户端也一样。我们先将起开启。

    -->控制面板----->程序

    ---打开或关闭window功能


    ---internet信息服务---web管理工具勾选



    现在已经完成第一步,相当于你安装了这个软件,下面就是在这个软件上搭环境

    运行这个软件,进来的界面是这样的


    搭建步骤: 

    注意: 这里就是搭建web服务器的路径,它的权限必须可读可写,我就建立在E:\test. 如果这个目录放在桌面是成功不了的。

    编写一个简单的html文件,该文件的文件格式必须是.htm 或.html,将该文件加入默认文档中,按优先级排序


    绑定ip和端口号

    最后就是启动web服务器,这里一定要留意,我们的端口设置成8080,不要设置成80,一般web服务器都设置成80,我们避免冲突,还有我们这里主要是访问我们制作的h5页面,但是如果是上传下载的话,就对格式没有多大要求,但必须将其类型加到MIME类型中去


    现在就在手机浏览器中输入192.168.0.106即可。浏览器返回的结果为


    这就是在本地搭建web服务器,利用手机浏览区访问的过程。此时手机和本地其实是在同一局域网,不存在服务器和客户端的关系,是对等关系,其实还可以搭建一种真正意义上的服务器和客户端。那就要借助广域网。这个我会在后面的文章中写到。

    总结一下:向服务器搭建,其实就是一下几点: ip-->port-->dir  说白了就是能让客户端在于服务器建立三次握手之后就可以找到服务器上的文件,实现访问。

    展开全文
  • WEB/HTTP服务器搭建

    万次阅读 2019-01-20 10:03:33
    对于软件都有服务和客户,有服务端和客户端 服务 就是在操作系统运行一个或者多个程序,并为客户端提供相应所需的...web服务器一般指网站服务器,他是一个驻留于Internet的一个计算机程序,用于向浏览器提供文档...

    HTTP

    对于软件都有服务和客户,有服务端和客户端

    服务

    就是在操作系统运行一个或者多个程序,并为客户端提供相应所需的服务

    协议

    就是计算机网络中进行数据交换而建立的规则、标准或约定的集合。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

    1.WEB服务器

    web服务器一般指网站服务器,他是一个驻留于Internet的一个计算机程序,用于向浏览器提供文档,网站等信息,也可以在其中放置各种文档数据供世界下载,当然也可以放置文档供世界浏览。

    1.1 WWW

    环球信息网,又名“万维网”,其可分为Web客户端和Web服务器程序。可以让客户端(常用浏览器)访问浏览Web服务器上的页面。由许多互相链接的超文本组成,通过互联网互相访问。

    Internet提供的主要服务有万维网WWW)、文件传输FTP)、电子邮件(E-mail)、远程登录Telnet)、手机 (3GHZ) 等。

    1.2 Http

    (HyperText Transfer Protocal)超文本传输协议,是互联网上最广泛的一种网络协议,所有的www文件都必须遵守这个标准。

    它使得浏览器的传输访问更高效,使网络传输减少。

    1.3 网页、网页文件和网站

    网页是网站的基本信息单位,是组成WWW的基本文档。由文字、图片、动画、声音等多种媒体信息以及链接组成,用HTML编写,通过链接实现与其他网页或网站的关联和跳转。

    网页文件是用HTML(标准通用标记语言下的一个应用)编写的,在WWW上传输,能被浏览器识别显示的文本文件。其扩展名是.htm.html

    网站由众多不同内容的网页构成,网页的内容可体现网站的全部功能。通常把进入网站首先看到的网页称为首页或主页(homepage)

    1.4 apache

    是一种当今流行的linux Web服务器,起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。

    1.5网站架构lamp    

    lamp=Linux+apache+mysql+php\python\jsp\perl

    静态网页:html

    动态网页 : 和后台数据库实现一些交互  php jsp python perl …

    本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,该软件开发的项目在软件方面的投资成本较低,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

    访问标准:通过访问ip地址及端口号访问服务器               

    2.HTTP协议运行原理

    HTTP报文结构

    请求报文由请求行,请求头部,空行和请求数据组成

    如下图

    1).请求行

    请求行分为三个部分:请求方法、请求地址和协议版本

    请求方法

    请求地址

    URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。

    端口和路径有时可以省略(HTTP默认端口号是80)

    如下例:

    协议版本

    协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

    2).请求头部

    请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。

    请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据,这一行非常重要,必不可少。

    3).请求数据

    可选部分,比如GET请求就没有请求数据。

    下面是一个POST方法的请求报文:

    POST  /index.php HTTP/1.1    请求行

    Host: localhost

    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2  请求头

    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

    Accept-Language: zh-cn,zh;q=0.5

    Accept-Encoding: gzip, deflate

    Connection: keep-alive

    Referer: http://localhost/

    Content-Length:25

    Content-Type:application/x-www-form-urlencoded

      空行

    username=aa&password=1234  请求数据

    HTTP响应 

    代理服务器: S和C之间的访问实体        

    缓存服务器: 特殊的代理服务器

    网关服务器: 一个http/FTP网关服务器C---http -- 8080 (FTP<-->HTTP )-----S FTP

                           <源ip地址><源端口号> <目标ip地址><端口> 

    HTTP关键字段

    UA字段

    SERVER字段

    Referer字段

    HTTP重定向

    Session

    Session是可以存储针对于某一个用户的浏览器以及通过其当前窗口打开的任何窗口具有针对性的用户信息存储机制。 通常大家认为,只要关闭浏览器,session就消失,其实这是错误的理解。对session来说也是一样的,除非程序通知服务器删除一个session,否则服务器会一直保留。由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间.

    (1)第一次访问某个web站点资源时,客户端提交没有带SessionID的请求(请求报文头没有Cookie头域信息)。  而web服务器会检查是否有SessionID过来,没有则创建SessionID,并根据web程序自身定义在请求哪个资源时添加属于当前会话的信息(也可为空),这个信息列表以SessionID作为标识。然后将SessionID返回给客户端(通过响应报文头的Set-Cookie头域)。 (2 )客户端再次访问同个web站点时,提交带有SessionID的请求(通过Cookie头域存储SessionID)。由服务端判断session是否失效,如果未失效,可查询属于当前会话的信息列表。如果失效,则创建新的session(产生新的SessionID),而原先的session(包含session带的信息列表)则丢失,无法访问。

    Cookie

    Cookie 保存SessionID的方式可以采用Cookie,这样在交互过程中浏览器可以自动的按照规则把这个SessionID发回给服务器。Cookie的命名方式类似于SessionID。有时Cookie被人为的禁止,所以出现了其他机制以便在Cookie被禁止时仍然能够把SessionID传递回服务器。这种技术叫做URL重写,就是把SessionID直接附加在URL路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为http://www.wantsoft.com/index.asp;jsessionid= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 。 另一种是作为查询字符串附加在URL后面,表现形式为http://www.wantsoft.com/index?js ... 99zWpBng!-145788764 。

    软件安装

    [root@imoemoe ~]# yum install httpd                  安装http服务器

    [root@imoemoe ~]# systemctl stop firewalld       关闭防火墙

    [root@imoemoe ~]# setenforce 0                        关闭selinux防火墙

    [root@imoemoe ~]# mkdir /{xixi,haha}                创建文件夹

    [root@imoemoe ~]# mkdir /usr/local/hehe          创建虚拟目录文件夹

    [root@imoemoe ~]# mkdir /xixi/100                    创建用户名登陆的虚拟目录

    [root@imoemoe ~]# echo '嘻嘻' > /xiaopang/100/index.html

    [root@imoemoe ~]# echo ‘我是嘻嘻’ > /xiaopang/index.html

    [root@imoemoe ~]# echo ‘哈哈’ > /dapang/index.html

    [root@imoemoe ~]# echo '虚拟目录' > /usr/local/hehe/index.html

    vim /etc/httpd/conf.d/httpd.conf                        ——编写主配置文件

    ServerName 0.0.0.0:80 

    vim /etc/httpd/conf.d/vhosts.conf                      ——编写辅助配置文件

    <Directory /xixi>                                ——设置xixi目录

            AllowOverride none                  ——允许覆盖

            Require all granted                   ——设置访问目录权限

    </Directory>

    <Directory /haha>                             ——设置haha目录

            AllowOverride none

            Require all granted

    </Directory>

    <Directory /usr/local/hehe>               ——设置hehe目录

            AllowOverride none

            Require all granted

    </Directory>

    Listen 10000    ——监听10000端口

    <VirtualHost 192.168.10.100:80>   端口号必须写

            DocumentRoot /xixi/100           ——指定当前主机访问网站根目录

            ServerName 192.168.10.100   ——指定访问网站名称

    </VirtualHost>

    <VirtualHost 192.168.10.100:80>       

            DocumentRoot /xixi

            ServerName www.xixix.com                             ——基于域名寻址

            ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"                               ——错误日志

            CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common        ——访问日志

    </VirtualHost>

    <VirtualHost 192.168.10.100:80>

            DocumentRoot /haha

            ServerName www.haha.com

            Alias /hehe /usr/local/hehe

            ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"

            CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common

    </VirtualHost>

    <VirtualHost *>   ——如想表示所有主机则使用 * 号

    [root@imoemoe ~]# systemctl restart httpd

    [root@imoemoe ~]# vim /etc/hosts

       192.168.10.100  www.xixi.com

       192.168.10.100 www.haha.com

    [root@imoemoe ~]# curl http://192.168.10.100

    嘻嘻

    [root@imoemoe ~]# curl http://www.haha.com

    哈哈

    [root@imoemoe ~]# curl http://www.haha.com/hehe/

    虚拟目录

    [root@imoemoe ~]# curl http://www.xixi.com

    我是嘻嘻

    展开全文
  • web服务器的建立(一)

    千次阅读 2019-02-21 11:58:44
    对于服务器,我在网上看了很多的例子,做的都很完善,但是学习价值并不是很高。 所以我做一个具有学习意义的服务器 如上图,网络通信以冯诺依曼体系为基础,通过在应用层运行进程,进而间接性操作操作系统,达到...
  • 轻松使用Nginx搭建web服务器

    千次阅读 2016-03-25 23:35:42
    轻松使用Nginx搭建web服务器
  • 1. 启动nginx,准备好静态网页资源放至指定的目录 2.修改nginx.conf配置文件,指定端口,域名,路径等 [root@server /]#vim /usr/local/nginx/conf/nginx.conf server { listen 8080; #使用的端口 ...
  • 有时候服务器目录下的内容是为了让用户浏览下载的,那么配置nginx静态服务就完全满足需求 nginx server配置如下 server{ listen 80; server_name niuniu.com; root /var/www/niuniu; location / { index inde...
  • nginx搭建web服务器

    千次阅读 2018-11-03 08:37:17
    一 nginx的优点  1、可以高并发连接  官方测试Nginx能够支撑5万并发连接,实际生产环境中可以支撑2~4万并发连接数。  原因,主要是Nginx使用了最新的epoll(Linux2.6内核)和kqueue(freeBSD)网路I/O模型,而...
  • web 服务器有哪些

    万次阅读 2018-08-27 16:53:49
    什么是web服务器 "网络服务"(Web Service)的本质,就是通过网络调用其他网站的资源。 Web Service架构和云 如果一个软件的主要部分采用了"网络服务",即它把存储或计算环节"外包"...
  • HTTP的WEB服务器做了些什么?

    千次阅读 2018-11-10 09:57:37
    Web服务器的实现 Web 服务器实现了 HTTP 和相关的 TCP 连接处理。 负责管理 Web 服务器提供的资 源, 以及对 Web 服务器的配置、 控制及扩展方面的管理。 Web 服务器逻辑实现了 HTTP 协议、 管理着 Web 资源, 并...
  • 常用的WEB服务器简介

    万次阅读 2018-06-22 10:55:57
    常用的WEB服务器 WEB服务器也称为WWW服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。Unix和Linux平台下常用的服务器有Apache、Nginx、Lighttpd、Tomcat、IBM WebSphere等,其中应用最广泛的是Apache。而...
  • HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写,它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升...
  • 打开VS2012解决方案资源管理器 -> 点选 Web 项目选择 -> 属性 -> Web -> 选择“使用 Visual Studio 开发服务器” -> 选中“自动分配端口” 。 再次运行Web项目,大功告成! 如图设置
  • Web服务器搭建步骤(Win10)

    万次阅读 2019-03-22 13:00:14
    1.在“开始”菜单处打开“控制面板”。 2.点击“程序”。 3.点击“启动或关闭Windows功能”。 4.对“Internet Information Services”下的所有选项打勾✔,点击“确定”。 5.电脑会自动搜索文件下载......
  • Java - 常用的Web服务器有哪些?

    万次阅读 2019-03-16 15:55:16
    分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!...选择Web服务器应考虑的因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等。下面...
  • 处理【由于 Web 服务器... 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面. 出现环境:win7 + IIS7.0 解决办法:IIS的根节点->右侧“ISAPI和CGI限制”->把禁止的DotNet版本项设置
  • 易语言调用WEB服务器模块完成。

    万次阅读 2009-03-15 11:30:00
    本模块提供远程调用WEB服务器函数的接口。支持同步/异步/继承方式调用。回调模式调用举例:ASP服务器示例: PHP服务器示例:附件下载请上易语言论坛http://bbs.eyuyan.com/dispbbs.asp?boardid=124&Id=176536 
  • web服务器和应用服务器的区别与分析

    万次阅读 多人点赞 2019-06-04 16:28:06
    Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满...
  • WEB服务器与应用服务器的区别

    万次阅读 多人点赞 2012-06-13 23:59:35
    WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先你要理解什么是WEB?WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器,如IIS、apache。 WEB服务器...
1 2 3 4 5 ... 20
收藏数 1,598,447
精华内容 639,378
关键字:

web服务器