Files
progcode/web/public/assets/editorial/2019/http-cache-variant-check-2019.svg
T
huncode 238c1f7688
Build and deploy / deploy (push) Successful in 13s
revise February to May 2019 articles
2026-07-31 10:32:34 +03:00

53 lines
5.2 KiB
XML
Raw 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.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1160" role="img" aria-labelledby="title desc">
<title id="title">Проверка cache key для русского и английского варианта</title>
<desc id="desc">Вертикальная схема показывает два запроса к origin и CDN с разным Accept-Language, отдельные варианты по Vary и проверку ETag только внутри одного языкового варианта.</desc>
<rect width="720" height="1160" fill="#f8fafc"/>
<rect x="42" y="34" width="636" height="108" rx="18" fill="#312e81"/>
<text x="360" y="78" text-anchor="middle" fill="#fff" font-size="28" font-family="Arial, sans-serif" font-weight="700">Один URL, два проверяемых варианта</text>
<text x="360" y="112" text-anchor="middle" fill="#ddd6fe" font-size="20" font-family="Arial, sans-serif">Меняем только Accept-Language</text>
<rect x="66" y="192" width="258" height="116" rx="16" fill="#e0f2fe" stroke="#0284c7" stroke-width="3"/>
<text x="195" y="235" text-anchor="middle" fill="#0c4a6e" font-size="24" font-family="Arial, sans-serif" font-weight="700">GET /catalog</text>
<text x="195" y="270" text-anchor="middle" fill="#0c4a6e" font-size="20" font-family="Arial, sans-serif">Language: ru</text>
<rect x="396" y="192" width="258" height="116" rx="16" fill="#fce7f3" stroke="#db2777" stroke-width="3"/>
<text x="525" y="235" text-anchor="middle" fill="#831843" font-size="24" font-family="Arial, sans-serif" font-weight="700">GET /catalog</text>
<text x="525" y="270" text-anchor="middle" fill="#831843" font-size="20" font-family="Arial, sans-serif">Language: en</text>
<path d="M195 308v46" stroke="#334155" stroke-width="5" marker-end="url(#arrow)"/>
<path d="M525 308v46" stroke="#334155" stroke-width="5" marker-end="url(#arrow)"/>
<rect x="82" y="358" width="556" height="122" rx="16" fill="#fef3c7" stroke="#d97706" stroke-width="3"/>
<text x="360" y="402" text-anchor="middle" fill="#78350f" font-size="24" font-family="Arial, sans-serif" font-weight="700">Origin возвращает два представления</text>
<text x="360" y="437" text-anchor="middle" fill="#78350f" font-size="20" font-family="Arial, sans-serif">Vary: Accept-Language; ETag различается</text>
<path d="M360 480v48" stroke="#334155" stroke-width="5" marker-end="url(#arrow)"/>
<rect x="66" y="532" width="258" height="130" rx="16" fill="#dbeafe" stroke="#2563eb" stroke-width="3"/>
<text x="195" y="575" text-anchor="middle" fill="#1e3a8a" font-size="23" font-family="Arial, sans-serif" font-weight="700">CDN key: /catalog + ru</text>
<text x="195" y="612" text-anchor="middle" fill="#1e3a8a" font-size="18" font-family="Arial, sans-serif">русское тело</text>
<rect x="396" y="532" width="258" height="130" rx="16" fill="#fce7f3" stroke="#db2777" stroke-width="3"/>
<text x="525" y="575" text-anchor="middle" fill="#831843" font-size="23" font-family="Arial, sans-serif" font-weight="700">CDN key: /catalog + en</text>
<text x="525" y="612" text-anchor="middle" fill="#831843" font-size="18" font-family="Arial, sans-serif">английское тело</text>
<path d="M195 662v50" stroke="#334155" stroke-width="5" marker-end="url(#arrow)"/>
<path d="M525 662v50" stroke="#334155" stroke-width="5" marker-end="url(#arrow)"/>
<rect x="82" y="716" width="556" height="118" rx="16" fill="#ecfccb" stroke="#65a30d" stroke-width="3"/>
<text x="360" y="760" text-anchor="middle" fill="#365314" font-size="24" font-family="Arial, sans-serif" font-weight="700">После срока: проверить тот же вариант</text>
<text x="360" y="796" text-anchor="middle" fill="#365314" font-size="20" font-family="Arial, sans-serif">If-None-Match для ru не проверяет en</text>
<path d="M360 834v48" stroke="#334155" stroke-width="5" marker-end="url(#arrow)"/>
<rect x="80" y="886" width="256" height="106" rx="16" fill="#dcfce7" stroke="#16a34a" stroke-width="3"/>
<text x="208" y="930" text-anchor="middle" fill="#14532d" font-size="24" font-family="Arial, sans-serif" font-weight="700">304</text>
<text x="208" y="963" text-anchor="middle" fill="#14532d" font-size="18" font-family="Arial, sans-serif">вариант не менялся</text>
<rect x="384" y="886" width="256" height="106" rx="16" fill="#fee2e2" stroke="#dc2626" stroke-width="3"/>
<text x="512" y="930" text-anchor="middle" fill="#7f1d1d" font-size="24" font-family="Arial, sans-serif" font-weight="700">200</text>
<text x="512" y="963" text-anchor="middle" fill="#7f1d1d" font-size="18" font-family="Arial, sans-serif">новый ETag и тело</text>
<rect x="80" y="1040" width="560" height="56" rx="14" fill="#fff7ed" stroke="#ea580c" stroke-width="3"/>
<text x="360" y="1076" text-anchor="middle" fill="#7c2d12" font-size="19" font-family="Arial, sans-serif">Сначала origin, потом edge: не смешивать две границы</text>
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
<path d="M0 0L10 5L0 10z" fill="#334155"/>
</marker>
</defs>
</svg>