马哥Linux学习笔记20-4http协议及httpd基础

  • 一次完整的http请求过程:
    • (1) 建立或处理连接:接收请求或拒绝请求
    • (2)接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程
      并发访问响应模型(web i/o):
      单进程I/O结构:启动一个进程处理用户请求,而且一次只处理一个:多个请求被串行响应
      多进程I/O结构:并行启动多个进程,每个进程响应一个请求
      复用I/O结构:一个进程响应n个请求
      多线程模型:一个进程生成N个线程,每个线程响应一个用户请求
      事件驱动:event-driven
      复用的多进程I/O结构:启动多(m)个进程,每个进程响应n个进程
    • (3) 处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息
      元数据:请求报文首部

      host:www.magedu.com 请求的主机名称
      connection:
    • (4)访问资源:获取请求报文中请求的资源
      web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源,这些资源放置于本地文件系统某路径下,此路径通常称为DocRoot
      /var/www/html/
      images/1.jpg
      http://www.magedu.com/images/1.jpg
      web服务器资源路径映射方式:
      (a)docroot
      (b)alias
      ©虚拟主机docroot
      (d)用户家目录docroot
    • (5)构建响应报文
      资源的MIME类型:
      显示分类
      魔法分类
      协商分类
      URL重定向:
      web服务器构建的响应并非客户端请求的资源,而是资源另外一个访问路径
    • (6)发送响应报文
    • (7)记录日志
  • http服务器程序:
    httpd(apache)
    nginx
    lighttpd
    • 应用程序服务器:
      IIS
      tomcat,jetty,jboss,resin
      webshpere,weblogic,oc4j
      www.netcraft.com
  • httpd的安装配置及使用
    • httpd:apache
      a patchy server = apache
      ASF:apache software foundation
    • httpd的特性:
      高度模块化:core + modules
      DSO:Dynamic Shared Object
      MPM:Multipath Processing Modules
      prefork:多进程模型,每个进程响应一个请求
      一个主进程:负责生成n个子进程,子进程也成为工作进程,每个子进程处理一个用户请求:即便没有用户请求,也会预先生成多个空闲进程,随时等待请求到达,最大不会超过1024个
      worker:多线程模型(多进程生成,一个进程生成多个线程),一个线程响应一个请求
      event:事件驱动模型,一个线程响应多个请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值