简体   繁体   中英

HTTP Status Code 103 in Log

We have a Tomcat 7 running behind an Apache2 Server, connected via AJP.

Some AJAX-Requests we receive at the Tomcat do not contain any request Parameters. This applies to GET and to POST requests as well. Inspecting the Apache access_log the requests were all answered with a HTTP Status Code of 103:

IP - - [SNIP] "POST /redacted/ticket/1234567 HTTP/1.1" 103 655 "https://redactedhost.com/redacted/ticket/1234567" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"

I can't figure where this Status Code comes from. Has anybody ever heard of it? As far as I have examined it is not a Custom Response from our Application and it is not defined in our Tomcat or Apache configuration.

HTTP 103 has been approved as status code for indicating hints to client.

More details here IETF

Official IANA Registry [ 1 ] says that code 103 is unassigned.

Some googling finds "103 Checkpoint" from "Resumable HTTP Requests Proposal" [ 2 ] [ 3 ] (I don't know whether that document in [ 3 ] is up-to-date, it is just from first page of search results. Usually such proposals should go further as an IETF draft). Note that it is not official, and response code 308 from [ 3 ] has already been assigned for different purpose by RFC 7538 [ 1 ].

As far as I have examined it is not a Custom Response from our Application

If it is not in plain view, it may be one of filters that you are using. Look through your libraries. You may try running with a debugger.

Do you see that response code at Apache HTTPD side only, or in Tomcat access log as well?

The Status Code 103 was an " unofficial " implementation which ended up in some (very few) products/software source codes, reason why people stumbled upon it in (rare) occasions.

History tells that the Status Code 103 was planned to respond when the request was installation/implementation dependent, which means its should appear when something (required) was missing or faulty in the Server installation or Network.

The message " Access denied while creating Web Service " was originally intended for the Status Code 103 , but only few implementations used it. There were also cases it was simply translated as " Checkpoint ".

For a while those messages made little to no sense, and the Status Code 103 was kept listed as " unofficial ", until when it was deprecated even before becoming official, which happened some point in time around 2012.

However, in December 20, 2017, suggested by K. Oku, the IETF (Internet Engineering Task Force) retrieved and reset the Status Code 103 from " Deprecated " to " Experimental ", retrofitting it as " Early Hints ", as it has been listed in the RFC 8297 .

You can read more its new purpose and utilization here: An HTTP Status Code for Indicating Hints

In 2018 The Status Code 103 was officially listed in the IANA HTTP Registry , even before being set as official by the IETF. Based on that, the odds are that the new meaning of the Status Code 103 should be safe to use and soon enough it shall became " official " by the IETF too. That is how it has been happening for a long time for other Status Codes.

I must express my appreciation and thank Ujjwal Gulecha for taking the time to bring this information forward on an old thread. It helps a lot keeping the information up-to-date in Stack Overflow when something in the industry change and affect the answers provided. Good job, bother!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM