【问题标题】:why the second request will be blocked in chrome but not in firefox为什么第二个请求会在 chrome 中被阻止,但在 Firefox 中不会
【发布时间】:2016-05-08 18:22:42
【问题描述】:

我正在使用 django 启动一个 Web 服务器。

这样的 test_sleep 函数,

# views.py
import time

from django.http import HttpResponse

def test_sleep(request):
    time.sleep(3)
    return HttpResponse('I am awake')

这是我的网址:

...
urlpatterns = [
    url(r'^test/', test_sleep),
]
...

当我在 3 秒(睡眠的时间长度)内访问两个 chrome 选项卡中的 test url 时,第二个请求在第一个完成之前不会执行。但是当我使用两个 firefox 选项卡时,它们可以同时执行。

使用'python manage.py runserver'会自动开启多线程,为什么第二个请求会在chrome浏览器中被阻塞呢?

谢谢。

【问题讨论】:

    标签: python django google-chrome firefox


    【解决方案1】:

    显然 Chrome 的行为与 Firefox 不同。如果您仍然倾向于知道原因,请联系 Chrome 支持。

    否则你的代码是正确的,Django 真正创建了多线程。

    顺便说一句:

    在 URLS 中编写函数如 views.name_of_function 是惯例,因为基于类的视图编写为 name_of_class.as_view()

    【讨论】:

    • 好的。谢谢Yaaaaaaaaaaay。
    猜你喜欢
    • 1970-01-01
    • 2016-01-29
    • 2015-01-06
    • 2019-08-11
    • 2013-11-19
    • 2019-11-09
    • 2012-05-17
    • 1970-01-01
    相关资源
    最近更新 更多