Are you Testing the Solution? How Changing the HTTP Codes without Solving a Problem Looks on the Outside
In my job, we using the ReadMe as the documentation. I wrote the job, that sync some of the database values to the ReadMe, which broke. So it was on me to try and figure out, what was wrong.
Since my local database does not have the same data as the production one, I wanted to create a test instance of the ReadMe to test it. The clone button does not exist on our documentation (but then, I am not the owner of the project). So I figured I could just export and then import the data in another instance.
It did not work. There was no error message, but the data just was not there. In order to figure this out, I fired up a web development tools. I wanted to see if the problem was on my side.
It did not seems like the problem was on mine side. I tried it a couple of times through two days period. The problem was not fixed, but there were some changes in responses. I think it is interesting case of the use of HTTP codes and what do they mean.
The first response that I got was with the HTTP code 500. There was a body of response, where the message indicated, that the problem lies somewhere between the Cloudflare servers and the origin server.
The x00 HTTP codes are generally a catch all HTTP codes. The 5XX range is for the server problems.
Taking the HTTP code 500 description from the list of HTTP codes on MDN, is the as below.
The server has encountered a situation it does not know how to handle.
So, so something went wrong. Though considering the message, it seems to have a guess of what went wrong. But the X00 are used as the fallback a lot, so I just ignored it.
Then the HTTP code changed. Now instead of the 500, it was 503. This one has a bit of a different meaning, which I pasted below:
The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded. [...]
This would indicate, that something was wrong with the server. But the rest of the things on the ReadMe, from API to viewing and changing the documentation worked. They are also listing all their servers as operational. The last incident, that they had, seems to have happened in August, so a month and change ago.
So this did not seems like the correct code. But maybe it was an indication, that they were working on the problem. Sure, I will accept this.
After some time, the HTTP code changed to 520. This code is not mentioned on the MDN pages, and IANA list of HTTP codes has it as unlisted. But as noticed above, the problem is connected to the Cloudflare. For some reason, they are using an non-existing code for their. The documentation of Cloudflare HTTP code 520 have a description about it.
This is a short description:
Error 520 occurs when the origin server returns an empty, unknown, or unexpected response to Cloudflare.
On the end, maybe nobody was working on the problem. The changes seems to be quite random. And the changes did not really indicate any change in the status. On the end it still does not work. So I found a workaround for my testing and reported a bug.
But I wish people would actually return the HTTP codes, that would give us some more information about the status. This situation did not help making me think, that things will eventually get resolved.