httpd及基础及相关请求

HTTP基础
一、 一次完整的HTTP的请求如下
1、 建立连接:服务器建立或者拒绝客户端的连接;
2、 接受请求:响应某一个客户端对某一主机上的网络资源的请求,主要影响因素为网络的I/O,根据I/O响应模式主要分为以下几种,
单进程:只生成一个进程响应客户请求,串行序列响应,对于队列中的请求只能等待前一个客户端请求处理 完毕后再做响应;
多进程:生成多个进程,每个进程处理一个客户端请求;
I/O复用模式:
多线程模式:一个进程生成多个线程,每个线程来响应客户请求;
事件驱动模式:基于事件监控的,一个进程可以连接多个请求,多个请求同时与一个进程通信,基 于事件回调的机制来追踪I/O情况;
复用多进程模式:可以启用多个进程,每个进程可以启用多个线程;
3、 处理请求:对客户端的请求进行分析,获取响应的原数据,比如method方法:get put post等,
首部<method> <URL> <VERSION>
Host请求的主机,端口以及具体的资源定位地址;
4、 请求资源:获取报文中请求的资源,讲请求提交给内核,对于请求资源取决于磁盘的I/O及CPU的中断等;
静态资源或者动态生成的资源,
5、 生成响应报文:基于MIME(Multipurpse internet Mail Extension)类型的响应报文,返回响应MIME分 类:显示分类(指定响应格式分类) 魔法分类(有程序自行扫描得出)协商分类(协商决定格式分类)
6、 响应请求:通过TCP发送响应报文
7、 生成日志:
二、 http是一种协议,超文本传输协议,hyper text transfer protocol
html是一种超文本变编程语言
URI是统一资源定位标识 Uniform Resource Identifier
URL是统一资源定位符 Uniform Resource Locater
其中url是uri的子集
URN是统一资源命名 Uniform Resource Naming
常用的http服务器程序(静态):
Httpd:
Nginx:
Lighttpd
应用程序服务器(WEB服务器兼备动态内容):
开源的:IIS Tomcat jboss jetty
商用的:webshpere weblogic oc4j
其中httpd尤为久远,httpd是在ASF(Apache Soft Foundation)阿帕奇软件基金会下一款开源软件;
模块化:core+modules
DSO:Dynamic Share Object
MPM:Multipath processing Modules
Prefork:一个进程生成多个子进程,由子进程去响应请求,主进程会提前创建好子进程来等待响应客户请求,根 据服务器的性能适当的调整最多空闲子进程,最少空闲子进程,prefork模式下,最大的PV为1024;
Worker:一个主进程生成多个子进程,每个子进程生成多个线程,每个线程处理一个请求,基于三层模式的:主进程,子进程,线程
Event:一个主进程,生成多个子进程,每个子进程处理多个客户请求的模式;

转载于:https://blog.51cto.com/14214250/2355770

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值