zoukankan      html  css  js  c++  java
  • 《HTTP权威指南》– 5.Web服务器

    Web服务器概念:

    实现了HTTP和相关的TCP连接处理,负责管理Web服务器提供的资源,以及对Web服务器的配置、控制及扩展方面的管理。

    各种不同的形式:

    1. 通过软件Web服务器:运行在标准的、有网络功能的的计算机系统上,如:Apache, Nginx, IIS
    2. Web服务器设备:预先打包好的软硬件解决方案。
    3. 嵌入式Web服务器:嵌入到消费类产品(比如打印机)中去的小型Web服务器。

    Web服务器会做哪些工作:

    1. 建立连接。接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭;
    2. 接受请求。从网络中读取一条HTTP请求报文;
    3. 处理请求。对请求报文进行解释,并采取行动;
    4. 访问资源。访问报文中指定的资源;
    5. 构建响应。创建带有正确首部的HTTP响应报文;
    6. 发送响应。将响应回送给客户端;
    7. 记录事务处理过程。将已完成事务有关内容记录在一个日志文件中;

    不同的Web服务器结构会以不同的方式为请求服务:

    1. 单线程Web服务器:一次只处理一个请求,直到其完成为止;
    2. 多进程及多线程Web服务器:使用多个进程,或高效的线程同时对请求进行处理;
    3. 复用的I/O服务器:为了支持大量的连接,很多Web服务器都采用了复用结构。在复用结构中,要同时监视所有连接上的活动。当连接状态发生改变时,就对那条连接进行少量的处理,处理结束之后,将连接返回到开放连接列表中,等待下一次状态变化,只有在有事情可做时才会对连接进行处理,在空闲连接上等待的时候并不会绑定线程和进程;
    4. 复用的多线程Web服务器:有些系统会将多线程和复用功能结合在一起,以利用计算机平台上的多个CPU;

    Web服务器对资源的映射及访问:

    Web服务器是资源服务器,可以接受对目录URL的请求,其路径可以解析为一个目录,而不是文件;

    如果用户请求目录URL时,没有提供默认的索引文件,而且Web服务器没有禁止使用目录索引,很多WEb服务器都会自动反悔一个HTML文件,此文件中会列出那个目录中的每个文件的文件名、文件大小和修改日期,以及URL链接。

    Apache 禁止自动生成目录或索引文件指令: Options -Indexes

    构建响应:

    一旦Web服务器识别出了资源,就执行请求方法中描述的动作,并返回响应报文。响应报文中包含有响应 状态码、响应 首部。如果事务处理产生了响应 主体,就将内容放在响应报文中回送过去。

    响应报文中通常包括:

    1. 描述了响应主体MIME类型的 Content-Type 首部;
    2. 描述了响应主体长度的 Content-Length 首部;
    3. 实际报文的主体内容;

    Web服务器要负责响应主体的MIME类型,可以用文件的扩展名说明MIME类型,

    常见的MIME类型如下:

    1. audio / mpeg mpeg
    2. image / png gif
    3. text / plain txt

    重定向:

    Web服务器有时会返回重定向响应而不是成功的报文,可以将浏览器重定向到其它地方来执行请求;

    可用于下列情况:

    1. 永久删除的资源;
    2. 临时删除的资源;
    3. URL增强;
    4. 负载均衡;
    5. 服务器关联;
    6. 规范目录名称;

    ### 图灵图书 -- HTTP权威指南

    豆瓣读书 -- HTTP权威指南

  • 相关阅读:
    一个matlab小程序:挑出沪市A股年报与一季度报在同一天发布的股票
    AWK
    matlab搜索路径
    从新浪财经上下载交易明细数据并统计每天的买卖笔数(shell 命令行)
    AWK截取字符串
    tar GNU
    工作效率上的错觉(转载)
    matlab双精度浮点数编码及区间覆盖(原创)
    DNS服务器设置(Ubuntu10.04)
    sed
  • 原文地址:https://www.cnblogs.com/duanbiaowu/p/5035473.html
Copyright © 2011-2022 走看看