`
gogole_09
  • 浏览: 201822 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

web服务器工作方式

阅读更多

   记录一下 web服务器的工作流程: 其大致分为如下几个步骤。

  1. 等待客户请求:
    web服务器等待来至于Internet的客户请求, 其监听某个端口直到有请求进来,而此时,
    服务器处于“睡眠状态”
  2. 客户请求到来 :
    客户通过浏览器对文档提出要求。用户可能是敲入URL或者点击链接。
    客户机器上的网络软件负责定位服务器主机,一旦建立连接, 客户按照HTTP协议发出请求。
                 如 "GET /sample.html HTTP/1.0"
    这些字符串经过网上传输,被服务器接受并保存到内存中。
  3. 服务器解析请求:
    WWW服务器对请求按照HTTP协议进行解码,(以上部字符串为例) 其涉及到三个主要内容:
    • 方法(GET) {GET的含义是---  服务器定位、读取文件并将它返回给客户
    • 文档(/sample.html)
    • 浏览器协议(HTTP/1.0)
    现在服务器就知道了, 它应找到文件 /sample.html,并使用HTTP/1.0协议将内容返回给客户.
    服务器是经过与请求到来时相同的连接发出的,所以服务器不需要定位客户或创建新连接. 
  4. 读取其他信息(如果有必要的话):
    WWW服务器根据需要去读取请求的其他部分。 HTTP/1.0下,客户还应给服务器提供关于它的一些元信息
    ,用于描述浏览器及其能力,以使用服务器能根据此确定如何返回应答。
           如:User-agent:Mosaic for X Windows /2.4
                   Accept:text/plain
                   Accept:text/html
                   Accept::image/*
  5. 完成请求动作:
    若没有错误的出现,Web服务器将执行请求所要求的动作。 获取(GET)一个文档,Web服务器会在其文档树中搜索请求的文件(/sample.html) . 这是由服务器机器上作为操作系统一部分的文件系统完成的。
    若文件能找到并正常读取,服务器就将返回给客户。
           被找到的目标文件的发送:
    • 首先服务器发送一些响应码和描述信息。 (如 200 Content-type:text/html;Content-length:1066等.)
    • 发送描述信息后,服务器读取文件,并输出到网络端口上。 若传输失败,返回错误信息。
         
          如果没找到目标文件:
    • 发送相应的响应码,描述原因,比如 403(没有找到)..
      比如: HTTP /1.0 403 Not Found
                Server: Apache/1.3.6
                Date: .....
                Content-type: text/html
                Content-length:0

  6. 关闭文件和网络连接,结束会话.
  7. 转回第一步,重新监听端口,以准备下一次连接.
分享到:
评论

相关推荐

    Web服务器的工作原理

    Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 ...

    stm32+esp8266连web服务器

    stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+...

    简单搭建WEB服务器 简单搭建WEB服务器 简单搭建WEB服务器

    简单搭建WEB服务器 简单搭建WEB服务器 简单搭建WEB服务器

    用java实现Web服务器

    java实现web服务器:(1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。  (2) 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是...

    WEB服务器、应用程序服务器、HTTP服务器区别

    WEB服务器、应用程序服务器、HTTP服务器区别

    微型web服务器-单文件

    微型web服务器,就一个文件,方便搭建web服务,用于一般的web服务即可。需要的赶紧下载吧

    易语言简易WEB服务器源码.rar

    易语言简易WEB服务器源码.rar

    超微型WEB服务器免安装版

    是一款集合了2048游戏,电影搜索、成语接龙、进程守护、屏幕锁定解锁等功能的网页Web服务器,服务器文件64Kb(还包括30Kb GZIP dll)应该是最小的Web服务器,支持编写dll插件,服务器没有接口,启动后会出现托盘图标。...

    Web服务器性能测试研究

    第二章 Web服务器概述 5 2.1 Web服务器的基本概念 5 2.2 HTTP协议的运作方式 6 2.2.1 HTTP协义基本介绍 6 2.2.2 HTTP 协议组成 7 2.2.3 TCP 对 HTTP的影响 9 2.3 Socket通信 10 2.4 Web服务器性能测试 11 2.5 影响...

    C++从零开始搭建一个web服务器

    Linux下基于C++的轻量级Web服务器; (1)使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor、Proactor) 的并发模型; (2)使用状态机解析HTTP请求报文,支持解析GET和POST请求; (3)访问...

    实验_Linux下的web服务器.doc

    实验_Linux下的web服务器.doc//实验_Linux下的web服务器.doc

    个人WEB服务器 2.0

    个人WEB服务器 2.0个人WEB服务器 2.0个人WEB服务器 2.0个人WEB服务器 2.0

    Python命令启动Web服务器实例详解

    Python命令启动Web服务器实例详解 利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m ...

    HTTP协议和WEB服务器工作原理

    1. 简述HTTP协议的内容,包含请求协议和返回协议。 2. 验证简单WEB服务器的实现原理,分析主要的代码实现,并总结WEB服务器处理客户端请求的全过程。

    Web服务器的架设

    Web服务器的架设  1 学习利用web服务器软件以及构架web服务器的方法 2 加深对web服务器工作原理的理解

    WEB服务器的配置(傻瓜篇) 教你如何配置web服务器

    WEB服务器的配置(傻瓜篇) 教你如何配置web服务器WEB服务器的配置(傻瓜篇) 教你如何配置web服务器WEB服务器的配置(傻瓜篇) 教你如何配置web服务器

    web服务器配置实验

    web服务器配置实验web服务器配置实验web服务器配置实验web服务器配置实验

    守望WEB服务器 v3.0

    这个WEB服务器是用C语言开发的 ,其特点是界面精美,易于使用,还有信息流量统计。整个WEB服务器就是 一个EXE可执行程序,无需任何安装,不修改注册表,删除时直接删除所有相关文件就行了。程序放在任何目录均可运行...

    使用QtWebApp编写Web服务器应用程序.rar_HTTP_QT_QT web服务器_qt web_webserver

    Explained in detail qt how to build a web server

Global site tag (gtag.js) - Google Analytics