Skip to content

gracefully fail HTTP/1.0 connections #152

@yoshuawuyts

Description

@yoshuawuyts

Currently our handling of HTTP/1.0 connections is rather blunt: we log an error and exit. We could do better by sending back a 426: Upgrade Required header with an Upgrade: HTTP/1.1 field. A client that sends an HTTP/1.0 request will receive a more informative response that's not "TCP connection aborted", and if it's sufficiently advanced it may even know to upgrade to HTTP/1.1 and try again.

We may choose to add support for HTTP/1.0 proper in the future. But that requires a significant amount of design work and research, and until then we can at least ensure we fail more gracefully when detecting HTTP/1.0 connections.

response payload

HTTP/1.0 426 Upgrade Required 
Upgrade: HTTP/1.1
Connection: Upgrade 
Content-Length: 53
Content-Type: text/plain 

This service requires use of the HTTP/1.1 protocol.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions