Description
Map leading/core/trailing HTTP optional whitespace spans, recognizing SP and HTAB only and preserving raw UTF-16 coordinates.
HTTP field names are case-insensitive, while values follow each field’s own grammar. Repeated occurrences sometimes form lists but cannot always be combined. Quoted values, optional spaces/tabs and quality weights need their own treatment; the tools here use explicit field records or a stated text subset.1
Map leading/core/trailing HTTP optional whitespace spans, recognizing SP and HTAB only and preserving raw UTF-16 coordinates.
When to use this tool
Use this tool to map leading/core/trailing HTTP optional whitespace spans, recognizing SP and HTAB only and preserving raw UTF-16 coordinates.
How to use the tool and how it works
- Enter value using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.leading, result.value, result.trailing. Use the ordering, boundary rules and absence conditions described below.
Scan only spaces and horizontal tabs at the beginning and end and return half-open leading, value and trailing spans.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| value | Field-value text under the stated supported character and splitting rules. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.leading | Half-open leading space/tab span. |
| result.value | Half-open retained-value span in the OWS operation, or unchanged field text after the first colon. |
| result.trailing | Half-open trailing space/tab span. |
{
"input": {
"value": " \ta \t"
},
"output": {
"result": {
"leading": [
0,
2
],
"value": [
2,
3
],
"trailing": [
3,
5
]
}
}
} Limitations and assumptions
- Offsets count UTF-16 code units; interior whitespace is not collapsed or validated.
- Explicit header records have name and value strings. Names must use token syntax; supported value code units are tab or 32–255 excluding DEL. Byte budgets use that single-byte representation, not UTF-8 or HTTP/2 compression.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Choose field-specific parsing and combination rules rather than applying one policy to every header. Preserve occurrence order and use a full HTTP implementation for message framing and protocol-level decisions.
References
-
RFC 9110: HTTP Semantics — RFC Editor
-
Tool behavior and example: HTTP Header Outer Whitespace Span Map — tool.io
Similar or alternative tools
- HTTP Header Occurrence Order Map
Map explicit field occurrences to stable canonical-name ordering and within-name ordinals without serializing or reordering a request.
- HTTP Header Quoted Token Source Map
Map complete HTTP quoted-string source spans and decoded quoted-pair values; token contents are Latin-1/HTAB and unclosed escapes/strings reject.