Where nothing caches, {nocache} is invisible: its content renders as
any content does. It matters inside a {cache}
section (or a tag's cache= option) that is rendering, and on a page the page cache
may keep. There the part is stored as its source rather than as its output; a hit hands back
the stored rendering with each part rendered again for this request.
A part inside a loop gets the fields of its rows back as they were when the section was
stored, so {topProducts}...{nocache}{stock $id}{/nocache}...
looks up the live stock of each cached product. In a section the part renders where the
section stands, with the page's fields. A variable or store the cached text made before the
part is not there on a hit - a section keeps its text, not its effects - so what a part reads
is made before the section or in the part itself.
A page-cache hit runs no PHP - not the page's, nor an _inits.php - so a part
there sees what a request has without it: request and session values, the configuration, the
_lib functions and the application's tags. A page-cache entry with parts is never
answered with a 304 from the entry alone, nor does a hit renew it.
A {form}'s CSRF token or a
{nonce} inside a part no longer keeps a section
out of the fragment cache: the part renders for each visitor. {nocache}
takes no parameter, and is always a pair - a single {nocache} is an
error under the strict check.