504错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。
504 错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。
服务器(不一定是 Web 服务器)正在作为一个网关或代理来完成客户(如您的浏览器或我们的 CheckUpDown 机器人)访问所需网址的请求。 为了完成您的 HTTP 请求, 该服务器访问一个上游服务器, 但没得到及时的响应。
这通常意味着上游服务器已关闭(不响应网关 / 代理),而不是上游服务器和网关/代理在交换数据的协议上不一致。
正常情况下,是由于被请求服务器发送超时引起。
生成原理
由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。
任何客户端在和网络服务器通讯时,都需经过以下循环:
·从站点的 IP 名称 ( 即站点的网址-URL, 不带起始的 ‘http://’) 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。
·打开一个 IP 套接字 (socket) 连接到该 IP 地址。
·通过该套接字写 HTTP 数据流。
·从 Web 服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。
该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码 并识别其为 ‘504’ 时。
这个问题完全是由后端电脑之间 IP 通讯缓慢而产生, 可能包括 Web 服务器。 如果 Web 服务器由某一网站托管, 只有负责那个网站设置的人员 才能解决这个问题。
网络上代理和缓存的使用日渐增加。尽管 CheckUpDown 机器人将总是试图 ‘ 钻入 ‘ 真正收管您的网站的电脑, 但是 HTTP 请求实际上落在哪里并不能完全控制。 只要在处理 HTTP 请求的一连串电脑中, 有一个环节坏了,类似 504 的错误就很容易产生。