1
0
mirror of https://github.com/fafhrd91/actix-web synced 2024-11-27 17:52:56 +01:00
actix-web/actix_http/header/constant.IF_MATCH.html
2024-05-27 01:16:31 +00:00

25 lines
4.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Makes a request conditional based on the E-Tag."><title>IF_MATCH in actix_http::header - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_http" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../../actix_http/index.html"><img src="https://actix.rs/img/logo.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../actix_http/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_http/index.html">actix_http</a><span class="version">3.7.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In actix_http::header</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Constant <a href="../index.html">actix_http</a>::<wbr><a href="index.html">header</a>::<wbr><a class="constant" href="#">IF_MATCH</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="https://docs.rs/http/0.2.11/src/http/header/name.rs.html#156-987">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub const IF_MATCH: <a class="struct" href="struct.HeaderName.html" title="struct actix_http::header::HeaderName">HeaderName</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Makes a request conditional based on the E-Tag.</p>
<p>For GET and HEAD methods, the server will send back the requested
resource only if it matches one of the listed ETags. For PUT and other
non-safe methods, it will only upload the resource in this case.</p>
<p>The comparison with the stored ETag uses the strong comparison
algorithm, meaning two files are considered identical byte to byte only.
This is weakened when the W/ prefix is used in front of the ETag.</p>
<p>There are two common use cases:</p>
<ul>
<li>
<p>For GET and HEAD methods, used in combination with an Range header, it
can guarantee that the new ranges requested comes from the same resource
than the previous one. If it doesnt match, then a 416 (Range Not
Satisfiable) response is returned.</p>
</li>
<li>
<p>For other methods, and in particular for PUT, If-Match can be used to
prevent the lost update problem. It can check if the modification of a
resource that the user wants to upload will not override another change
that has been done since the original resource was fetched. If the
request cannot be fulfilled, the 412 (Precondition Failed) response is
returned.</p>
</li>
</ul>
</div></details></section></div></main></body></html>