http协议

http 协议:

  1)http协议格式:

    URL:scheme://server[:port]/path/to/source (服务器上的每一个资源都有一个对应的url与之对应)

    request:

      <method> <url> <version>

      <HEADERA>

 

      <body>

    response:

      <verion> <status> <reason phrase>

      <HEADERS>

 

      <body>

其中:

  method:

    除了get,head,post,put,delete,trace,options还有很多其他的方法

  status:

    1XX:信息类

    2XX:成功类,200

    3XX:重定向类301,302,304

    4XX:客户端错误类,403,404

    5XX:服务端错误类,502

  HEADER:

    通用首部(请求/响应都可以使用)

    请求首部

      If-Modified-Since,If-None-Match  

    响应首部

    实体首部(用在body中)

    扩展首部

  协议格式:文本、二进制

  2)Web页面:一个页面通常含有多个资源,也就是说我们浏览器访问的是一个页面的入口,在页面被浏览器加载显示的过程中,又会向服务器发送请求,将页面中包含的资源显示完毕

    为了加速页面的打开使用的机制:

      缓存,

      并发多线程发起请求,

      同一个页面的不同资源放在不同的域名下(配置浏览器针对同一个域名线程并发上限实现的)

    以上机制,会导致服务器面临大量并发请求的压力

  pv:page view

  uv:user view

  3)认证:

    基于IP认证:

    基于用户认证:

      basic认证

      digest认证

  4)资源映射:

    Alias(别名)

    DocumentRoot

  5)httpd:MPM(多路处理模块)

      prefork:主进程生成多个子进程,每个子进程处理一个请求。使用复用型IO

      worker:主进程生成多个子进程,每个子进程生成多个线程,每个线程响应一个请求。

      event:主进程生成多个子进程,每个子进程响应多个请求。使用事件驱动式IO

    I/O类型:

      a.同步(synchronous)和异步(asynchronous):

          关注的是消息通知机制

          同步:调用发出之后不会立即返回,但一旦返回,则返回的是最终结果

          异步:调用发出之后,被调用方立即返回消息,但返回的并非最终结果,被调用者通过状态,通知机制等来通知调用者,或者通过回调函数来处理结果

      b.阻塞(block)和非阻塞(nonblock):

          关注的是调用者等待被调用者返回调用结果是的状态

          阻塞:调用结果返回之前,调用者会被挂起,调用者只有在得到返回结果之后才能继续

          非阻塞:调用者在结果返回之前,不会被挂起,即调用不会阻塞调用者

    I/O模型:(IO有:网络io和磁盘io之分,某一时刻只能处理一种IO。一次IO处理分俩个阶段:第一个阶段是接受请求的进程将请求交给内核进程,内核进程将数据从磁盘读取到内核内存;第二阶段是将数据从内核内存拷贝到接受请求的进程中返回给调用者)

      阻塞式IO(blocking io):效率较低

      非阻塞式IO(nonblocking io):效率较低  

      复用型IO(io mutliplexing):效率较低

        select(),poll()    

      事件驱动式IO(signal driven io):第一阶段异步,第二阶段阻塞

        通知:水平触发:多次通知

           边缘触发:只通知一次

      异步IO(asynchronous io):效率最高

      

 

转载于:https://www.cnblogs.com/wanjn/p/9463928.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值