有些应用程序会添加600-799范围内的自定义响应代码。例如,检查响应代码列表from KeyNote here 注解记号定义的错误代码(600-799)
600: CONNECTION ERROR -This indicates a general connection error
601: INCOMPLETE ERROR -This indicates sever sends an incomplete page/object(as indicated byContent-Length header)
602: UNEXPECTED CLOSE ERROR -This indicates socket connection has been closed unexpectedly
603: REFUSED ERROR -This indicates a request to connect to the server is refused
604: TIMEOUT ERROR -This indicates there isno activity in socket connection in3 minutes
605: REDIRECT ERROR -This indicates an error in redirect HTTP header
606: SSL ERROR -This indicates a general error in SSL
607: HEADER ERROR -This indicates a malformed HTTP header
608: EMPTY RESPONSE ERROR -This indicates server doesn't send any response after a request is sent
609: UNKNOWN HOST ERROR - This indicates socket receives an unknown host error from DNS
610: NO ROUTE TO HOST ERROR - This indicates a no route to host error was received while attempting to open a socket
611: SOCKET ERROR - This indicates a general socket error
612: FRAME LOOP ERROR - This indicates a page has a frame loop (frame A includes Frame B that includes Frame A)
613: REDIRECT LOOP ERROR - This indicates a page has a redirect loop (page A redirects to page B that redirects to page A)
614: CONNECTION RESET ERROR - This indicates socket receive a reset signal from the server
615: SOCKET PROTOCOL ERROR - This indicates an error in socket protocol
616: SOCKET BIND ERROR - This indicates an error in binding the socket
617: CONNECTION ERROR - This indicates a general socket connection error
618: CHUNK ERROR - This indicates an error in chunked encoding
619: SSL TIMEOUT - This indicates a timeout during SSL handshake (2 minutes)
620: SSL END OF INPUT - This indicates an end-of-file is received during SSL handshake
621: SSL HANDSHAKE ERROR - This indicates a general error during SSL handshake
622: SSL CERTIFICATE ERROR - This indicates an error in SSL certificate verification
623: SSL AUTHENTICATION ERROR - This indicates an authentication error during SSL handshake
624: SSL BAD MAC ERROR - This indicates a bad MAC during SSL handshake
625: SSL CIPHER ERROR - This indicates a cipher error during SSL handshake
701: ERROR TEXT FOUND - This code is returned if any error text (such as, "Service Unavailable") are found in the main page (frame HTML contents included). Note that the error text must be defined in advance of the test. Error text means if the text is found, this session should be considered a failure.
702: REQUIRED TEXT NOT FOUND - This code is returned If not all required texts are found in the main page. Note that required text must be defined in advance of the test. Required text means if the text is not found, this session should be considered a failure.
703: HTML BODY EMPTY - This code is returned if the HTML body of the page is empty (only if error text or required text has been defined).
6条答案
按热度按时间lbsnaicq1#
是的,只要你尊重类--也就是说,2xx代表成功,4xx代表客户端错误,等等。因此,您可以为自己的应用程序的错误条件返回自定义4XX错误代码(最好是未分配的错误代码)。
引用[RFC 2616][1]:
HTTP状态码是可扩展的。HTTP应用程序不需要理解所有注册状态码的含义,尽管这样的理解显然是可取的。然而,应用程序必须理解任何状态码的类,如第一个数字所指示的,并将任何未识别的响应视为等价于该类的x 00状态码,例外是不能缓存未识别的响应。例如,如果客户端收到一个无法识别的状态码431,它可以安全地假设其请求有问题,并将响应视为收到一个400状态码。
类'
https://www.rfc-editor.org/rfc/rfc2616#section-6.1.1
46scxncf2#
我建议不要创建自己的HTTP状态码,当applicable codes already exist用于您想在示例中做的事情时。
来自https://www.rfc-editor.org/rfc/rfc4918#section-11.2:
422 [Unprocessable Entity]状态码表示服务器理解请求实体的内容类型(因此415 [Unsupported Media Type]状态码是不合适的),请求实体的语法是正确的(因此400 [Bad Request]状态码是不合适的),但无法处理包含的指令。例如,如果XML请求主体包含格式良好(即,语法正确)但语义错误的XML指令,则可能发生此错误情况。
可以认为,“无法处理”可能是由于验证错误。
0kjbasz63#
以下是所有可用/不可用
HTTP
代码的完整列表。https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
例如,以下带箭头的可用于
4XX
族(因为它们未指定)。ezykj2lf4#
是的,您可以添加自定义错误代码。如果可能的话,使用已经存在的代码,如果你正在声明新的代码,要小心避免冲突。
你应该知道,虽然有些代理过滤未知代码。我遇到的问题是,用户位于代理服务器后面,将5XXMap到500,将4XXMap到404。这使得我的apache调用检查状态代码失败。
f0ofjuux5#
有些应用程序会添加600-799范围内的自定义响应代码。例如,检查响应代码列表from KeyNote here
注解记号定义的错误代码(600-799)
我不敢说这是否是一个好的做法,但至少这是一个有趣的参考。
70gysomp6#
不可以,只能使用rfc文档要求代码,详见RFC1945