Articles of http

为什么Django的开发服务器默认使用8000端口?

(我的问题不是关于Django,而是关于替代的http端口,我只是碰巧知道Django是一个比较着名的应用程序,默认使用8000,所以它是说明性的。 我有一个野外的开发服务器,我们偶尔需要在不同的端口上运行多个httpd服务。 当我需要维护第三项服务,并且已经使用端口80和8080时,我发现我们的安全团队已经locking了来自Internet的端口8000访问。 我认识到端口80是标准的http端口,而8080通常是http_alt,但是我想向我们的安全团队提出打开8000的情况。 为了解决这个问题,我希望这个问题的答案可以为我提供一个在某些情况下使用8080以上端口的合理理由。 还是只是一个随意的select,没有意义?

我可以打开1个子域的HSTS

我想强制执行HSTS只有1个子域,但不是整个域,这是可能的吗? xxx.yyy.com -> HSTS on zzz.yyy.com -> HSTS off yyy.com -> HSTS off

networking服务器应该关心IPv6兼容性吗?

现实世界中是否有IPv6客户端? 如果没有,是否有其他理由支持IPv6? (我的理解是,随着广域网的出现,这样的IPv6并不是必须的,因此如果有适应性,这个IPv6是非常低的,是正确的还是未来几年我们会看到IPv6使用量的增加?

如何阻止Nginx听80端口?

我希望nginx停止听80端口。我只find有bug的人,但没有有意做的文档。 我不能禁用它,我也读: #listen 80; ## listen for ipv4; this line is default and implied 英语不是我的母语,但我明白“暗示”意味着这不需要声明,所以即使它在评论中,服务器仍然听80.我怎样才能禁用? 谢谢。

为什么我的一些客户在短时间内失去HTTP连接?

我在服务器2008 R2上运行IIS 7.5,在位于Sonicwall防火墙后面的英特尔服务器硬件上的Windows Core 2008 R2服务器上虚拟化。 几个月来,我们有一小群客户(也许每周一次)联系我们,说他们无法访问该网站。 当发生这种情况时,我立即开始诊断问题,这是我find的: 我可以访问该网站。 我们在其他地点的支持人员可以访问该网站。 据推测(因为我们没有听到他们的消息),其他客户可以访问该网站。 客户可以ping通并跟踪服务器。 客户不能访问共享相同IP地址的同一台服务器上的其他网站。 客户可以访问使用不同IP地址的同一台服务器上的其他网站。 iisreset不能解决问题。 重置客户的路由器不能解决问题。 刷新我们的防火墙的ARPcaching不能解决问题。 更改客户的浏览器和/或重新启动他的机器不能解决问题。 切换到客户路由器后面的其他计算机不能解决问题。 在15 – 30分钟内,这个问题不知怎么神奇地解决,客户可以再次访问该网站。 当它失败时,客户看到超时消息,IIS日志根本不显示请求logging。 其他说明: 似乎没有这种问题影响哪些客户的模式。 我们没有使用负载平衡。 除了防火墙之外,IIS之前没有其他的安全软件/硬件。 IIS虚拟机具有所有最新的Windows更新。 服务器核心安装具有所有最新的Windows更新。 Sonicwall正在运行最新的固件。 我怀疑的事情可能是问题: 如果客户的浏览器不正确地parsing可能导致上述所有问题的网站的DNS。 下次发生这种情况时,我将使用Fiddler来validation浏览器正在尝试连接的IP地址。 不知道为什么ping然后能够从命令行正确parsing它。 也许Sonicwall以某种方式阻止了连接。 如果是这样的话,它只能阻止一个特定的源IP +目的IP +协议,并且只能持续15到30分钟。 我没有任何授权/激活的SonicWall的高级过滤服务。 在问题发生的时候,我可以通过重置Sonicwall来testing这个理论,考虑到其他用户同时访问服务器,这有点吓人。 服务器核心(主机O / S)和Server 2008 R2(客户机操作系统)之间的虚拟networking连接可能以某种方式阻塞了连接一段时间。 不知道我怎么能testing/诊断这一个。 也许在主机上的NIC驱动程序有一些奇怪的问题? 不知道如何testing这一个。

HTTP请求过早终止会发生什么?

假设我在浏览器中input一个URL,浏览器提交HTTP请求。 远程HTTP服务器接受请求并启动一个长时间的任务来处理请求。 如果我在请求完成之前终止请求(例如,按Esc或Firefox),请求如何closures? 浏览器将这个中止请求传递给服务器(我认为它不)? 假定没有,完成长期任务后,服务器将如何处理结果? 无论如何,它会发回吗? 如果是这样,会发生什么? 它到达我的个人电脑吗? 或在路上迷路了? 这只是为了我的好奇心 谢谢你的时间 :)

混合Subversion“SVNParentPath”和每个存储库的configuration?

给定一个典型的使用SVNParentPath的Subversion / Apacheconfiguration,并在/svn/下托pipe存储库,如下所示: <Location /svn> DAV svn SVNParentPath /srv/source/svn/repos SVNReposName "Subversion Repository" AuthzSVNAccessFile /srv/source/svn/authz Satisfy Any AuthType Basic AuthBasicProvider file AuthName "Subversion Repository" AuthUserFile /srv/source/svn/htpasswd Require valid-user </Location> 有没有办法来覆盖特定的存储库的configuration, 而不必在不同的path上托pipe他们? 也就是说,有没有什么办法可以像这样添加一个Location块… <Location /svn/my_special_repo> SVNPath /srv/source/svn/repos/my_special_repo AuthzSVNAccessFile /srv/source/svn/repos/my_special_repo/conf/authz </Location> …并覆盖 /svn Location块提供的configuration? 我在上面的configuration中这样做的尝试在Apache错误日志中遇到了奇怪和无用的错误,例如: [Wed Feb 02 11:28:35 2011] [error] [client 10.10.209.120] (20014)Internal error: Can't open file […]

Chrome在下载MP4video(〜34MB)时请求太多请求(〜22000)

我们在我们的网站上托pipe一些video文件(mp4)。 所有的文件在谷歌浏览器中加载的速度太慢,在FF中一切正常。 我testing了一个大小为34MB的文件的下载(我通过直接链接打开文件)。 结果是: Chrome制作了〜22000 (!)个请求,传输了982MB 。 Firefox只提出了5个请求。 作为服务器,我们使用nginx默认(与video文件服务有关)设置。 这里的交互(前五个请求)包括Chrome和服务器。 仅包含Range , Content-Length , Content-Range标题。 (< – 由Chrome发送的标题,< – 由服务器发送的标题): > Initial request for file, usual GET < Content-Length:35690389 < Content-Type:video/mp4 Then a bunch of similar requests, on which the server responded with 206 status code: — > Range:bytes=0- < Content-Length:35690389 < Content-Range:bytes 0-35690388/35690389 — […]

哪些反向代理支持HTTP / 1.1 ETag和If-None-Match头文件?

我正在开发一个电子商务平台的caching系统,它将使用反向代理进行caching。 我打算通过使用正确的HTTP / 1.1头来处理失效。 也就是说,我将在第一代内容上设置一个ETag,并在应用程序中cachingETag值。 Cache-Control头将指定“must-revalidate”,所以代理应该在随后的ETag请求上设置If-None-Match头。 应用程序将查找caching的ETag值,如果匹配,则会发送一个304响应,否则它将生成一个完整的200响应。 我希望使用nginx,但我不能肯定它支持ETags(文档指出它不,但也许他们已经过时?)。 清漆是另一种select,但我在这里也不积极。 哪些逆向代理服务器对ETag有完整的支持? 我希望它实际上caching多个版本,所以我可以做分裂testing,而不必禁用caching。 也就是说,HTTP / 1.1指定客户端可以发送带有多个ETag值的If-None-Match,并且服务器应该响应与哪个ETag匹配(如果有的话)。 如果反向代理保存了多个副本而不是最后一次看到的值,并让服务器在每个要使用的请求上指定,那将是理想的。

是否可以安全地使用HTTP状态308永久redirect?

在服务器响应中使用HTTP状态码308永久redirect ( build议 )是否安全? 301永久移动的问题是,它只适用于GET请求(公平:POST将转换为GET,这不是一个选项)。 状态代码在“RFC时间”中是非常新颖的,那么你会提出什么build议? 浏览器如果不知道308会怎么做? 它会find的位置,并做302?