Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Downloadscript-哪个HTTP状态码用于最大连接数?_Php_Linux - Fatal编程技术网

PHP Downloadscript-哪个HTTP状态码用于最大连接数?

PHP Downloadscript-哪个HTTP状态码用于最大连接数?,php,linux,Php,Linux,我用PHP编写了一个下载脚本,允许用户从我的服务器下载文件 我已经编程,每次下载只有2个连接可用,可以正常工作 我的问题是,当用户每次下载已有2个连接时,我可以/必须发送哪个HTTP状态码来通知用户downloadmanager已达到最大连接数?没有“最大连接数”代码,但429或503可能就是您要找的: 429请求太多 429状态代码表示用户在给定的时间内发送了过多的请求(“速率限制”) 响应表示应该包括解释条件的详细信息,并且可能包括指示在发出新请求之前等待多长时间的Retry After标头

我用PHP编写了一个下载脚本,允许用户从我的服务器下载文件

我已经编程,每次下载只有2个连接可用,可以正常工作

我的问题是,当用户每次下载已有2个连接时,我可以/必须发送哪个HTTP状态码来通知用户downloadmanager已达到最大连接数?

没有“最大连接数”代码,但429或503可能就是您要找的:

429请求太多

429状态代码表示用户在给定的时间内发送了过多的请求(“速率限制”)

响应表示应该包括解释条件的详细信息,并且可能包括指示在发出新请求之前等待多长时间的Retry After标头

10.5.4 503服务不可用

由于服务器临时过载或维护,服务器当前无法处理请求。这意味着,这是一种暂时的情况,延迟一段时间后会得到缓解。如果已知,延迟的长度可以在Retry After标头中指示。如果没有在之后重试,客户端应该像处理500响应一样处理响应

注意:503状态代码的存在并不意味着服务器在过载时必须使用它。有些服务器可能希望简单地拒绝连接


另外。

我不知道如何判断它们达到了最大值。只是他们试图下载太多,在第三次连接时出错

我可能会使用的一个错误是429,“请求太多”

来自RFC 6585:

  • 429请求太多

    429状态代码表示用户发送的数据太多 在给定的时间内请求(“速率限制”)

    响应陈述应包括详细说明 条件,并可能包括指示多长时间的Retry After标头 在提出新请求之前等待

    例如:

    HTTP/1.1 429请求太多 内容类型:text/html 重试时间:3600

    请求太多 请求太多 我每小时只允许50个请求访问此网站 已登录用户。请稍后再试

    请注意,此规范未定义源服务器的工作方式 标识用户,也不标识其对请求的计数方式。例如,一个 限制请求速率的源服务器可以根据 整个服务器上基于每个资源的请求计数, 甚至在一组服务器之间。同样,它可能会识别用户 通过其身份验证凭据或有状态cookie

    带有429状态代码的响应不能由缓存存储

  • Wikipedia是查找大量服务器或大型公司实际使用的许多代码的好地方:


    那么http错误“421-您的internet地址连接太多”怎么办?我认为421只是一个FTP/SMTP功能,http不支持。它不在上面链接的列表中。另请参阅Apache上的以下信息:(421未使用)很高兴提供帮助!请记住选择答案!:)那么http错误“421-您的internet地址连接太多”呢?正如Ed提到的,421目前不是有效的http代码。虽然它被用作
    421错误映射