Skip to content

gracefully fail HTTP/1.0 connections #152

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions