53 lines
5.2 KiB
XML
53 lines
5.2 KiB
XML
<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>
|