Files
progcode/web/public/assets/editorial/2018/http-timeout-layers-2018.svg
T
huncode 7c53ffe6bc
Build and deploy / deploy (push) Successful in 14s
revise July and August 2018 articles
2026-07-31 09:41:53 +03:00

39 lines
3.5 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" width="960" height="560" viewBox="0 0 960 560" role="img" aria-labelledby="title desc">
<title id="title">Три ограничения ожидания в libcurl</title>
<desc id="desc">Схема сопоставляет connect timeout, общий timeout и пару low speed limit плюс low speed time. Общий лимит охватывает соединение, а low speed отслеживает среднюю скорость передачи ниже заданного порога.</desc>
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#14213d"/>
<stop offset="1" stop-color="#1d3557"/>
</linearGradient>
<marker id="arrow" markerWidth="10" markerHeight="10" refX="7" refY="3" orient="auto">
<path d="M0,0 L0,6 L8,3 z" fill="#a8c7e8"/>
</marker>
</defs>
<rect width="960" height="560" rx="28" fill="url(#bg)"/>
<text x="54" y="68" fill="#fff" font-family="Arial, sans-serif" font-size="30" font-weight="700">Три условия остановки у одного cURL-вызова</text>
<text x="54" y="103" fill="#c8daec" font-family="Arial, sans-serif" font-size="18">Они отвечают на разные вопросы и не заменяют друг друга</text>
<rect x="62" y="148" width="836" height="108" rx="18" fill="#0e1b30" stroke="#6b93bd" stroke-width="2"/>
<text x="88" y="184" fill="#7de0cf" font-family="Arial, sans-serif" font-size="20" font-weight="700">CURLOPT_CONNECTTIMEOUT</text>
<text x="88" y="216" fill="#d7e8f7" font-family="Arial, sans-serif" font-size="17">До соединения: DNS → TCP → TLS.</text>
<text x="88" y="239" fill="#d7e8f7" font-family="Arial, sans-serif" font-size="17">После него connect timeout уже не действует.</text>
<rect x="698" y="172" width="168" height="58" rx="12" fill="#1c6b61"/>
<text x="723" y="207" fill="#fff" font-family="Arial, sans-serif" font-size="18" font-weight="700">например, 2 с</text>
<line x1="480" y1="274" x2="480" y2="310" stroke="#a8c7e8" stroke-width="3" marker-end="url(#arrow)"/>
<rect x="62" y="322" width="836" height="108" rx="18" fill="#0e1b30" stroke="#d96b7d" stroke-width="2"/>
<text x="88" y="358" fill="#ffa7b5" font-family="Arial, sans-serif" font-size="20" font-weight="700">CURLOPT_TIMEOUT</text>
<text x="88" y="390" fill="#d7e8f7" font-family="Arial, sans-serif" font-size="17">Весь перенос от старта до конца.</text>
<text x="88" y="413" fill="#d7e8f7" font-family="Arial, sans-serif" font-size="17">Connect timeout находится внутри этого потолка.</text>
<rect x="698" y="346" width="168" height="58" rx="12" fill="#963f53"/>
<text x="723" y="381" fill="#fff" font-family="Arial, sans-serif" font-size="18" font-weight="700">например, 8 с</text>
<rect x="62" y="462" width="400" height="58" rx="14" fill="#2b4e70" stroke="#f3a348"/>
<text x="84" y="498" fill="#fff" font-family="Arial, sans-serif" font-size="18" font-weight="700">LOW_SPEED_LIMIT + LOW_SPEED_TIME</text>
<rect x="490" y="462" width="408" height="58" rx="14" fill="#2b4e70" stroke="#f3a348"/>
<text x="514" y="487" fill="#ffdfb0" font-family="Arial, sans-serif" font-size="16">Пример: ниже 100 Б/с 15 секунд</text>
<text x="514" y="509" fill="#d7e8f7" font-family="Arial, sans-serif" font-size="15">Это граница низкой скорости, не отдельный API read timeout.</text>
</svg>