← All tools

HTTP Conditional Request Tester: ETag, 304 & 412

Explain ETag and HTTP date preconditions locally. Compare strong and weak validators, follow header precedence and inspect why a request proceeds, returns 304 or fails with 412.

http-conditional-request-testerLOCAL WORKSPACE

Enabling local controls…

Inputs and settings

Processed in this tab without uploading or storing inputs. Each text field is limited to 32 KiB and complete output to 1 MiB; additional format and model limits apply.

Results

Review the settings and run. Editing inputs clears old results.

Processing model and limits

Origin-server precondition model after normal request checks succeed; not a remote endpoint or authorization test. If-Match uses strong comparison; If-None-Match uses weak comparison. Tag conditions override corresponding date conditions. Proceed is not a promised 200 response. Missing resources are modeled only for PUT creation. Dates: IMF-fixdate only; obsolete HTTP dates and leap seconds stop as unsupported. Invalid date conditions are ignored with a reason. No already-succeeded operation exception, Range, cache age or CDN simulation. Each field 4 KiB, total 16 KiB, at most 20 tags per list. Input and reports can contain secrets: review before sharing; nothing is sent or saved.

Data and model checked: RFC 9110: precondition precedence ↗RFC 9110: entity tags ↗

How to use this tool

Load the example, confirm field units and processing rules, then run locally. Editing any input clears the old result. Copy or download the complete output explicitly.

When not to use it

Origin-server precondition model after normal request checks succeed; not a remote endpoint or authorization test. If-Match uses strong comparison; If-None-Match uses weak comparison. Tag conditions override corresponding date conditions. Proceed is not a promised 200 response. Missing resources are modeled only for PUT creation. Dates: IMF-fixdate only; obsolete HTTP dates and leap seconds stop as unsupported. Invalid date conditions are ignored with a reason. No already-succeeded operation exception, Range, cache age or CDN simulation. Each field 4 KiB, total 16 KiB, at most 20 tags per list. Input and reports can contain secrets: review before sharing; nothing is sent or saved.

Read the guide →