码迷,mamicode.com
首页 > Web开发 > 详细

http 请求流程 && 5种 IO 模型

时间:2017-06-15 17:21:36      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:status   复用   async   关注   请求过程   div   http   back   block   

一次完成的http请求应该有以下几个步骤:

1.建立或处理连接,server端接受请求或者处理请求。

2.接受请求,接受来自网络报文中对某一资源的请求过程 

3.处理请求:对请求报文进行分析,并获取请求的资源及请求方法等信息 <补充说明b>

4.访问资源:向系统内核发起调用,获取存储在磁盘中请求报文中的资源

5.构建相应报文

6.发送相应报文

7.记录日志

 <补充说明b>

http事务:request(请求)  -------  response(相应)

request样式
<method><URL><Version>
<HEADERS>

<body>

responese样式
<Version><status><reason phrase>
<HEADERS>

<body>

 <补充说明c  IO类型>

同步和异步:synchronous, asyncrhonous
关注的是消息通知机制
				
同步:调用发出不会立即返回,但一旦返回就可以返回最终结果;
异步:调用发出之后,被调用方立即返回消息,但返回的非最终结果;被调用者通过状态、通知机制来通知调者,或通过回调函数来处理结果;
			
阻塞和非阻塞:block, nonblock
关注的是调用等等调用结果(消息、返回值)时的状态
				
阻塞:调用结果返回之前,调用者(调用线程)会被挂起;调用者只有在得到结果之后才会返回;
非阻塞:调用结果返回之前,调用不会阻塞当前线程;

 <补充说明d 5种IO模型>

blocking IO 	        阻塞IO
nonblocking IO	        非阻塞IO
IO multiplexing	        复用行IO,用select(),poll()回调     apache的profix worker工作模式采用此模型,受限与1024边界效应
signal driven IO        事件驱动IO  
     通知机制:
            水平触发:多次通知
            边缘触发:只通知一次
asyncrhonous IO         异步IO

 

http 请求流程 && 5种 IO 模型

标签:status   复用   async   关注   请求过程   div   http   back   block   

原文地址:http://www.cnblogs.com/carllife/p/7018717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!