1. Introduction

Fragile defines a strict subset of HTTP/1.1 request syntax.

Only well-formed and unambiguous messages are accepted.

All other input is rejected.

This specification intentionally restricts the accepted grammar

to eliminate ambiguity and reduce implementation complexity.

Fragile focuses on syntax only.

Semantics and higher-level behavior are out of scope.


1.1. Requirements Notation

The key words "MUST", "MUST NOT", and "SHOULD" are to be interpreted

as requirements enforced by this implementation.

These requirements apply only within the scope of Fragile.


1.2. Syntax Notation

Fragile defines a minimal grammar derived from HTTP/1.1.

request-line = method SP request-target SP protocol CRLF

method = "GET" / "HEAD" / "POST" / "PUT" / "DELETE" / "CONNECT" / "OPTIONS" / "TRACE"

request-target = "/" *( %x21-7E )

protocol = "HTTP/1.1"

header-field = field-name ":" SP field-value

field-name  = 1*( %x21-7E )
field-value = *( %x20-7E )

CRLF = "\r\n"
SP   = " "

Fragile requires: