wget: accept code 204.
authorDenis Vlasenko <vda.linux@googlemail.com>
Sun, 22 Jun 2008 16:28:02 +0000 (16:28 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sun, 22 Jun 2008 16:28:02 +0000 (16:28 -0000)
networking/wget.c

index 7198197dd4d013c40f057cb207ea838271a308cc..b4581153334138dbc79424d118bc1314a3370315 100644 (file)
@@ -598,6 +598,31 @@ int wget_main(int argc ATTRIBUTE_UNUSED, char **argv)
                                        /* eat all remaining headers */;
                                goto read_response;
                        case 200:
+/*
+Response 204 doesn't say "null file", it says "metadata
+has changed but data didn't":
+
+"10.2.5 204 No Content
+The server has fulfilled the request but does not need to return
+an entity-body, and might want to return updated metainformation.
+The response MAY include new or updated metainformation in the form
+of entity-headers, which if present SHOULD be associated with
+the requested variant.
+
+If the client is a user agent, it SHOULD NOT change its document
+view from that which caused the request to be sent. This response
+is primarily intended to allow input for actions to take place
+without causing a change to the user agent's active document view,
+although any new or updated metainformation SHOULD be applied
+to the document currently in the user agent's active view.
+
+The 204 response MUST NOT include a message-body, and thus
+is always terminated by the first empty line after the header fields."
+
+However, in real world it was observed that some web servers
+(e.g. Boa/0.94.14rc21) simply use code 204 when file size is zero.
+*/
+                       case 204:
                                break;
                        case 300:       /* redirection */
                        case 301: