当前位置: 首页 > news >正文

盘锦如何做百度的网站运营培训班学费大概多少

盘锦如何做百度的网站,运营培训班学费大概多少,网页设计毕业论文8000字以上,o2o网站大全长连接: 客户端发送Http请求至服务端,请求发送完之后socket连接不断开,可以继续接收下一个Http请求并且解析返回。接手并解析这些Http请求的时候socket连接不断开,这种过程被称为长连接。 需要注意的点就在于,在满足什么条件的情况…

长连接:

        客户端发送Http请求至服务端,请求发送完之后socket连接不断开,可以继续接收下一个Http请求并且解析返回。接手并解析这些Http请求的时候socket连接不断开,这种过程被称为长连接。

        需要注意的点就在于,在满足什么条件的情况下,Tomcat何时会保持长连接;何时又会将长连接断开。

       BIO伪代码如下

keepAlive = truewhile (keepAlive) {//如果连接池中的工作线程/最大线程数>=75,那么也关闭keepAlive和最后一行的decrementKeepAlive相对应if(disableKeepAlive()){socketWrapper.setKeepAliveLeft(0);}//如果是HTTP/1.1,那么依旧是true,如果是HTTP/1.0或者''那么将keepAlive设置成false,否则直接报错,Http协议有问题prepareRequestProtocol();//请求头中的Connection参数,如果是keep-alive,那么设置成true,如果是close,那么设置成falseprepareRequest();//当前socket连接能够处理的最大请求数,如果设置成1,那么也改成false,因为你设置成1,说明他只能处理一个请求,那么处理完就应该关闭if (maxKeepAliveRequests == 1) {keepAlive = false;} else if (maxKeepAliveRequests > 0 &&socketWrapper.decrementKeepAlive() <= 0) {//如果请求数有多个,但是超过了当前socket连接上设置的最大限制数,那么keepAlive也设置成falsekeepAlive = false;}}prepareRequestProtocol() {if (protocolMB.equals(Constants.HTTP_11)) {}else if (protocolMB.equals(Constants.HTTP_10)) {keepAlive = false;}else if (protocolMB.equals("")) {keepAlive = false;}}prepareRequest(){//close设置成falseif (tokens.contains(Constants.CLOSE)) {keepAlive = false;} //keep-alive设置成trueelse if (tokens.contains(Constants.KEEP_ALIVE_HEADER_VALUE_TOKEN)) {keepAlive = true;}    }disableKeepAlive(){//工作线程数和最大线程数的比对if((maxThreads= endpoint.getMaxThreadsWithExecutor()) > 0 && (threadsBusy = endpoint.getCurrentThreadsBusy())>0)){threadRatio=(threadsBusy*100)/maxThreads;//如果大于75%if(threadRatio>getDisableKeepAlivePercentage()){return true}}}

        解析伪代码可以看到Tomcat中通过keepAlive属性的开合来保持长连接的开启或者关闭,BIO代码中影响KeepAlive的因素有如下几方面:

                1.一个socket连接对应一个线程,Tomcat本身有一个工作的线程池,如果工作的线程和线程池中的最大线程数的比例>=设定的阈值(默认是0.75),那么就会就会将keepAlive设置成false

                2.会根据你的Http版本,1.0的设置成false

                3.Http请求中的请求头有Connection属性,如果传过来的是close,那么也会将keepAlive设置成false,如果传入的是keep-alive,那么将会设置成true

                4.当前socket连接中能够处理的最大请求数,如果将其设置成1,那么说明这个就是短连接,处理完当前Http请求之后就会关闭socket连接,将其设置成false

                值的注意的是,如果2中改成了false,但是3中的属性依旧是Connection:keep-alive,那么3会覆盖2的结果

                上述就是Tomcat中保持长连接以及会影响到长连接开关的因素

          

                

http://www.shuangfujiaoyu.com/news/55369.html

相关文章:

  • 个人做网站花多少钱网站如何做推广
  • 北京市政府网站首都之窗百度网站管理员工具
  • sfda的网站的建设特点做企业推广的公司
  • 咸阳市城乡建设规划局网站如何在百度发布广告
  • 杭州电商网站策划设计seo智能优化软件
  • wordpress 摘要 回车手机流畅优化软件
  • 苍南做网站哪里找公司网站建设哪个好
  • 男女做羞羞羞的网站软文代写服务
  • 百度收录动态网站是不是比静态难seo专员招聘
  • 靠谱的建站团队典型的口碑营销案例
  • 专业外贸网站制作价格贵州seo培训
  • 电商运营 网站运营网页设计培训学校
  • asp网站免费模板下载北京seo排名厂家
  • 网站建设 域名 空间黑帽seo技术培训
  • 做网站建设需要什么资质广告招商
  • 源码开发网站建设制作企业网站
  • 怎么做学校官方网站名片seo什么意思
  • 运城网站建设多少钱网站优化公司开始上班了
  • wordpress的替代win10优化
  • 广州海珠做网站搜索引擎优化实训心得
  • 中国建设银行金华分行网站seo优化排名易下拉效率
  • 深圳做网站-信科网络seo排名优化北京
  • java librec 网站开发手机优化软件
  • 网站链接文字seo排名优化软件有
  • 网站与规划设计思路廊坊百度快照优化排名
  • 筑云电商网站建设公司网站seo优化总结
  • 淘宝运营跟做网站哪种工资高富阳seo关键词优化
  • 中国最贵的域名交易福州百度seo代理
  • 关于营销的网站有哪些内容清远新闻最新
  • 建设旅游网站的好处搜索引擎优化包括哪些方面