Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

What to share

CURL_LOCK_DATA_COOKIE - set this bit to share cookie jar. Note that each easy handle still needs to get its cookie “engine” started properly to start using cookies. It is not supported to use this option with multiple concurrent threads.

CURL_LOCK_DATA_DNS - the DNS cache is where libcurl stores addresses for resolved hostnames for a while to make subsequent lookups faster.

CURL_LOCK_DATA_SSL_SESSION - the SSL session ID cache is where libcurl stores resume information for SSL connections to be able to resume a previous connection faster.

CURL_LOCK_DATA_CONNECT - when set, this handle uses a shared connection cache and thus is more likely to find existing connections to re-use etc, which may result in faster performance when doing multiple transfers to the same host in a serial manner. It is not supported to use this option with multiple concurrent threads.

CURL_LOCK_DATA_PSL - this bit shares the Public Suffix List between handles. The list of public suffixes, aka top-level Internet domains, is used to help manage the security of cookies. Sharing the list prevents overhead from having to process multiple copies of the list.

CURL_LOCK_DATA_HSTS - this bit shares the in-memory HSTS (HTTP Strict Transport Security) cache. HSTS is used by websites to indicate that HTTP requests should instead be accessed securely using HTTPS. It is not supported to use this option with multiple concurrent threads.