revise February to May 2019 articles
Build and deploy / deploy (push) Successful in 13s

This commit is contained in:
2026-07-31 10:32:34 +03:00
parent e8afc8454a
commit 238c1f7688
22 changed files with 2913 additions and 1 deletions
@@ -0,0 +1,52 @@
<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>

After

Width:  |  Height:  |  Size: 5.2 KiB