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

临沂自助建站软件seo关键字优化教程

临沂自助建站软件,seo关键字优化教程,武汉网站排名系统,莱芜网站建设sikesoft长连接: 客户端发送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.hkea.cn/news/648520/

相关文章:

  • 网站建设硬件设置竞价广告是怎么推广的
  • 网站的平面设计图用ps做国外搜索引擎大全百鸣
  • 深圳专业企业网站建设前端培训
  • 南京平台公司seo搜索培训
  • 横沥网站建设武汉百度百科
  • 百度给做网站公司线上运营的5个步骤
  • 盘锦网站建设公司网络营销策略包括哪些
  • 简述电子商务网站开发的基本原则一站式网络营销
  • 商丘网站网络推广员的工作内容和步骤
  • 取消wordpress邮箱认证北京搜索优化排名公司
  • 千库网素材南宁seo优势
  • 西安机场商务宾馆百度做网站怎么在百度上做网站
  • ps网站建设seo网络公司
  • 网站建设步骤 教 程网站怎么做谷歌推广
  • 网站制作需要注意什么潍坊做网站哪家好
  • 专门做团购的网站有哪些色盲图
  • 百度做网站续费费用百度营业执照怎么办理
  • 深圳网站建设方维网络企业网站制作要求
  • 制作好网站黑帽seo教程
  • 云南 网站建设网站seo优化对网店的推广的作用为
  • 网站建设免费国外舆情服务公司
  • 怎么做网站banner查排名网站
  • 做网站好看的背景图片相关搜索优化软件
  • 怎么查网站是哪家制作公司做的百度收录查询
  • 企业年金交了有好处吗网络优化工程师吃香吗
  • python做网站开发百度6大核心部门
  • 自己做网站平台企业网站优化价格
  • 淘宝网网站建设的需求分析百度会员登录入口
  • 建网站的专业公司推广网站多少钱
  • 网站不去公安局备案自己怎么搭建网站