zoukankan      html  css  js  c++  java
  • xmlhttp并发(AJAX)

    问题:

    1、Client端同时有多个指向同一个域的xmlhttp请求并发,虽然xmlhttp异步执行,但好像没有实现多个请求并发,而是一个个请求顺序执行?

    2、Client端某个xmlhttp请求没有返回响应,这时候您跳转同一个域下其他代码页面,好像会等待xmlhttp请求返回后才能正常跳转?

    出现以上问题的原因是:IISSession对并发的锁定,对会话状态的访问专属于每个会话,这意味着如果两个不同的用户同时发送请求,则会同时授予对每个单独会话的访问。 但是,如果这两个并发请求是针对同一会话的(通过使用相同的 SessionID 值),则第一个请求将获得对会话信息的独占访问权。 第二个请求将只在第一个请求完成之后执行。 (如果由于第一个请求超过了锁定超时时间而导致对会话信息的独占锁定被释放,则第二个会话也可获得访问权。)

    解除锁定

    asp页面可以添加<%@ ENABLESESSIONSTATE=false %>

    asp.net页面的Page设置中添加属性EnableSessionState="False"EnableSessionState属性默认为true

    现在只能说并发的问题已经部分解决,为什么呢?如果页面同时加载n个页面,n>6,并发的问题好像又出现了,并没有实现全部页面一起并发请求。原因是浏览器也会有设定“浏览器并发连接数”

    浏览器默认对同一域下的资源,只保持一定的连接数,会阻塞过多的连接。rfc2616建议不超过2个。

    不同浏览器的默认值不一样,对于不同的HTTP协议其值也不一样。

    浏览器默认最大并发连接数

    浏览器

    HTTP 1.1

    HTTP 1.0

    IE 6,7

    2

    4

    IE 8

    6

    6

    Firefox 2

    2

    8

    Firefox 3

    6

    6

    Safari 3, 4

    4

    4

    Chrome 1,2

    6

    ?

    Chrome 3

    4

    4

    Opera

    4

    4

    浏览器并发连接解决方案

    1、增大浏览器最大连接数

    2同一域下的资源:使用多个域名

     

  • 相关阅读:
    二叉树计数2(卡特兰数+高精乘低精+高精除低精)
    奶牛的身高(差分约束)
    海底高铁(差分)
    假期(动态规划+单调队列)
    RY哥查字典(字符串双模hash初步)
    元素查找(hash初步)
    【模板】单源最短路径 堆优化的dijkstra
    【模板】单源最短路径spfa
    【并查集】noi2001食物链
    【带权并查集】银河英雄传说
  • 原文地址:https://www.cnblogs.com/yumianhu/p/3710763.html
Copyright © 2011-2022 走看看