GET — Method Context
GET is the primary retrieval method context that carries validator, precondition, and range request modifiers for existence oracle analysis.
Technique Definition
GET is not itself the elicitation technique. It is the primary retrieval method context that carries validator, precondition, and range request modifiers. Under Existence Oracle analysis, GET matters because it is the method under which the broadest set of RFC-defined representation-evaluation outcomes can be elicited without changing resource state.
Primary Headers / Methods
Method
GET
Common Technique Carriers
If-None-MatchIf-Modified-SinceIf-MatchIf-Unmodified-SinceRangeIf-Range
Representation Metadata Commonly Involved
ETagLast-ModifiedContent-RangeAccept-Ranges
Can Elicit
Primary Differentials
304 vs 404206 vs 404416 vs 404
Secondary / Adjacent Outcomes
412 vs 404whenGETis combined with precondition headers such asIf-MatchorIf-Unmodified-Since200fallback branches when range or conditional behavior is ignored or not triggered
Stage Role
Under this taxonomy, GET is the main carrier method for almost every technique on this page set. It is the default method context for retrieval-side existence probing.
Best Use
GET is best used when the goal is to elicit RFC-defined existence leakage without mutating server state.
It is the cleanest general method context for:
- validator-driven
304behavior - byte-range-driven
206and416behavior - controlled precondition testing where non-destructive retrieval is preferred over mutation-oriented methods
Why It Works as an Existence Trigger
GET requests a current selected representation for the target resource. That makes it the natural method under which the server reveals whether a representation exists, whether validators match that representation, and whether byte-range semantics can be applied to it. When a conditional or range branch is observed on GET, the server has necessarily progressed into representation-aware evaluation rather than stopping at simple target absence.
Method Applicability
Validator Retrieval
GETis a primary context forIf-None-MatchandIf-Modified-Since.- This is the cleanest route to
304 Not Modifiedunder RFC-defined semantics.
Range Evaluation
GETis the only RFC-defined method for range handling.- This makes it the required context for
RangeandIf-Rangeas elicitation techniques.
Precondition Evaluation
GETcan also carryIf-MatchandIf-Unmodified-Since.- Those pairings are protocol-valid, but are less central than validator or range use because
GETis not primarily a state-changing method.
Non-Destructive Probing
- Among all methods in scope here,
GETis the most natural general-purpose probe method because it does not itself seek to modify the selected representation.
Trigger Strength / Normative Level
Strongest GET-Specific Branch
When If-None-Match evaluates false on GET, the origin server MUST respond with 304 Not Modified. This is one of the strongest and cleanest RFC-defined existence-relevant branches available anywhere in the elicitation taxonomy.
Range Behavior
When GET carries a satisfiable Range request and the relevant conditions are met, the server SHOULD send 206 Partial Content. When the requested range is unsatisfiable, the server SHOULD send 416 Range Not Satisfiable. The server may still ignore Range, so these are weaker than the If-None-Match 304 branch.
Precondition Branches
When GET carries If-Match or If-Unmodified-Since and the condition evaluates false, the server MUST NOT perform the method, but the RFC is less rigid about the exact response code than it is for If-None-Match.
Portability Notes
GETis the most portable method context because all general-purpose servers must support it.- It is the safest default method for non-destructive probing.
- Its strongest oracle branch comes from
If-None-Match, not from plainGETalone. GETshould not be conflated with generic caching behavior; the existence signal comes from the attached RFC-defined technique.
Detection Notes
- Use
GETas the default method context unless the specific technique requires otherwise. - Add exactly one manipulator such as
If-None-Match,If-Modified-Since,Range, orIf-Range. - Compare a known-existing target and a known-nonexistent target.
- Classify the observed branch by the technique, not by
GETalone. - Treat plain
GETresponses without conditional or range modifiers as baseline context, not as the main oracle result.
Relationship to Other Techniques
Versus HEAD
GETreturns the representation content when a content-bearing branch is taken.HEADmirrors many of the same semantics but suppresses message content, making it a narrower method-context analysis.
Versus Range
GETis the carrier method.Rangeis the actual partial-transfer elicitation technique.
Versus If-None-Match
GETprovides the method context in which the cleanest304branch is reached.If-None-Matchis the real trigger.
Scope & Limitations
GETalone does not prove existence leakage.- It does not by itself create a distinctive RFC-defined oracle branch.
- It does not prove that a shared cache is present.
- It does not prove prior storage, freshness lifetime, cache keying, or cache hits.
- The actual existence signal still comes from the attached validator, precondition, or range technique.
Method Contexts
Method context pages explain how each HTTP method carries the actual elicitation techniques and which RFC-defined differentials are reachable through that method.
HEAD — Method Context
HEAD is a retrieval-oriented method context that mirrors GET semantics except that the server must not send response content.