QUIC (āĻĻā§āĻ°ā§āĻ¤ UDP āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻ¸āĻāĻ¯ā§āĻ) āĻšāĻ˛ UDP-āĻāĻ° āĻāĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻ¯āĻž TCP, TLS āĻāĻŦāĻ HTTP/2 āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋāĻā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻž "āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ" āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĻā§āĻ°ā§āĻāĻāĻžāĻ˛ āĻ§āĻ°ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ
āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°ā§āĻā§: āĻŦāĻŋāĻāĻžāĻļ 7 āĻŦāĻāĻ°ā§āĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§ āĻāĻ˛āĻā§āĨ¤ āĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ āĻšāĻ¯āĻŧā§ āĻāĻ āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĻŋ, āĻ¤āĻŦā§ āĻāĻāĻ¨āĻ āĻŦā§āĻ¯āĻžāĻĒāĻ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ° āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻāĻŦāĻ āĻŽā§āĻŦāĻžāĻāĻ˛ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻāĻŽāĻžāĻ¤ā§ āĻā§āĻāĻ˛ āĻāĻŦāĻ āĻĢā§āĻ¸āĻŦā§āĻā§āĻ° āĻŽāĻ¤ā§ āĻāĻžāĻ¯āĻŧāĻžāĻ¨ā§āĻāĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž QUIC āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻāĻāĻŋāĻāĻĢ āĻ¤āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻāĻžāĻāĻāĻžāĻā§ HTTP/3 āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻˇāĻŖāĻž āĻāĻ°ā§ (āĻ¯āĻĻāĻŋāĻ HTTP/2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻ§āĻžāĻ°āĻŖāĻž
QUIC āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°ā§ TCP-āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻž āĻŽā§āĻ˛āĻ¤ āĻāĻŽ-āĻā§āĻˇāĻ¤āĻŋāĻ¯ā§āĻā§āĻ¤ āĻ¤āĻžāĻ°āĻ¯ā§āĻā§āĻ¤ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻŋāĻ¸āĻŋāĻĒāĻŋ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ, āĻĒā§āĻ°ā§ āĻ¸āĻžāĻ°āĻŋ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ (
āĻ¯ā§āĻšā§āĻ¤ā§ QUIC āĻāĻāĻāĻŋ TCP āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻŦāĻ TLS 1.3 āĻāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻāĻ¯ā§āĻ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĄāĻŋāĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻž HTTPS āĻāĻ° āĻāĻĒāĻ° āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, QUIC āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻ¤āĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻžāĻ°āĻŖ TCP āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§ āĻ
āĻ¨āĻ¨ā§āĻ¤āĻāĻžāĻ˛.
HTTP/2-āĻ āĻŽāĻžāĻ˛ā§āĻāĻŋāĻĒā§āĻ˛ā§āĻā§āĻ¸āĻŋāĻ-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§āĻ, āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻāĻžāĻ°āĻŖā§ āĻšā§āĻĄ-āĻ āĻĢ-āĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ˛āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸ā§āĻāĻžāĻ¨ā§āĻ āĻĨā§āĻā§ āĻā§āĻā§āĨ¤ QUIC UDP-āĻāĻ° āĻāĻĒāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§ āĻāĻ¤ā§ āĻā§āĻ¨ā§ āĻŦā§āĻ˛āĻāĻŋāĻ āĻ¨ā§āĻ, āĻāĻŦāĻ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻāĻŋāĻ°āĻ¤āĻ°ā§ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻĨā§āĻā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻŽā§āĻŦāĻ° āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ¤ā§ "āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻļā§āĻĻā§āĻ°" āĻ āĻāĻļ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻž āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ā§ˇ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, QUIC āĻāĻāĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻļāĻŋāĻ˛āĻž āĻ¸āĻžāĻ°āĻŋāĻā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĨā§āĻ°ā§āĻĄā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻāĻāĻžāĻŦā§, āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻāĻž āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯):
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ°
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§, QUIC Google-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻāĻŋ āĻŽā§āĻ˛āĻ¤ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ 2013 āĻ¸āĻžāĻ˛ā§, āĻāĻāĻŋ āĻĒā§āĻ°āĻŽāĻŋāĻ¤āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻāĻŋāĻāĻĢ-āĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ (āĻ¯āĻž āĻāĻāĻ¨āĻ āĻāĻ˛āĻā§), āĻāĻŦāĻ āĻāĻāĻ¨ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§ āĻ¤āĻžāĻĻā§āĻ° āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻŦāĻŋāĻāĻžāĻļā§ āĻ āĻāĻļāĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻāĻāĻŋāĻāĻĢ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻā§āĻ°ā§āĻĒ āĻŦāĻžāĻ°ā§āĻˇāĻŋāĻ āĻ¸āĻāĻž āĻāĻ¯āĻŧā§āĻāĻ¨ āĻāĻ°ā§ āĻ¯āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻĻā§āĻāĻžāĻŦāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ QUIC-āĻāĻ° āĻāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§āĻ HTTP/3 āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, HTTP/3 āĻā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻā§āĻ¨ āĻāĻ˛ā§āĻāĻ¨āĻž āĻ¨ā§āĻ, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻļā§āĻˇ āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ:
āĻāĻŋāĻ¨ā§āĻ¤ā§ QUIC āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻšāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻž āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻāĻŦāĻžāĻ°ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛:
QUIC āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻŦāĻžāĻ°ā§āĻ° āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ QUIC āĻāĻŽā§āĻŦā§āĻĄ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻ¸āĻāĻ¯ā§āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻ°āĻž QUIC āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ (HTTP/2 āĻāĻāĻžāĻ° TLS/TCP) āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ
āĻā§āĻ°ā§āĻ¨ā§āĻ āĻĨā§āĻā§āĻā§āĻ°ā§āĻŽāĻŋāĻ¯āĻŧāĻžāĻŽ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ , āĻ¯āĻž āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻŽā§āĻ˛, Google āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ - gQUICāĨ¤ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ IETF āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻā§āĻļāĻ¨ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤QUIC-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻžāĻĻā§āĻ° Android āĻ ā§āĻ¯āĻžāĻĒā§ Cronet āĻ¸āĻāĻšāĻ¤ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻŽāĻ¨āĻāĻžāĻŦā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯āĻžāĻ¤ā§ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻŽāĻžāĻāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ āĻāĻŽāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§
OkHttp , āĻāĻŽāĻ°āĻž OkHttp API āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻ āĻ§ā§āĻ¨ā§ Cronet āĻ¸āĻāĻšāĻ¤ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻāĻžāĻŦā§ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ (āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĻ°ā§āĻā§āĻ°ā§āĻĢāĻŋāĻ ) API āĻ¸ā§āĻ¤āĻ°ā§āĨ¤āĻ ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§āĻĄ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž iOS-āĻ āĻāĻŦāĻžāĻ° āĻ ā§āĻ¯āĻžāĻĒā§ Cronet āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻāĻŋ, āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻĨā§āĻā§ HTTP āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻŦāĻžāĻ§āĻž āĻĻā§āĻ¯āĻŧ
āĻāĻĒāĻŋāĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°NSURL āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ . iOS āĻĢāĻžāĻāĻ¨ā§āĻĄā§āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤āĻ¤āĻž āĻĒā§āĻ°ā§āĻā§āĻāĻ˛-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ URL āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° iOS āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ Cronet āĻ¸āĻāĻšāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻĨā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž
āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄā§ āĻ¤āĻžāĻ°āĻž Google āĻā§āĻ˛āĻžāĻāĻĄ lb āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ QUIC āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻ§āĻ°ā§āĻāĻŋāĻ˛, āĻ¯āĻž
āĻāĻ¤ā§ āĻ āĻŦāĻžāĻ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻŋāĻā§ āĻ¨ā§āĻ āĻ¯ā§ āĻā§āĻāĻ˛ āĻā§āĻ˛āĻžāĻāĻĄ āĻā§āĻāĻ˛-āĻāĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻā§ āĻā§?
nginx
āĻāĻŋāĻā§āĻā§āĻˇāĻŖ āĻāĻā§ āĻā§āĻ˛āĻžāĻāĻĄāĻĢā§āĻ˛ā§āĻ¯āĻŧāĻžāĻ°
curl -O https://nginx.org/download/nginx-1.16.1.tar.gz
tar xvzf nginx-1.16.1.tar.gz
git clone --recursive https://github.com/cloudflare/quiche
cd nginx-1.16.1
patch -p01 < ../quiche/extras/nginx/nginx-1.16.patch
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
./configure
--prefix=$PWD
--with-http_ssl_module
--with-http_v2_module
--with-http_v3_module
--with-openssl=../quiche/deps/boringssl
--with-quiche=../quiche
make
āĻ¯āĻž āĻŦāĻžāĻāĻŋ āĻĨāĻžāĻā§ āĻ¤āĻž āĻšāĻ˛ HTTP/3 āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻž
events {
worker_connections 1024;
}
http {
server {
# Enable QUIC and HTTP/3.
listen 443 quic reuseport;
# Enable HTTP/2 (optional).
listen 443 ssl http2;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
# Enable all TLS versions (TLSv1.3 is required for QUIC).
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
# Request buffering in not currently supported for HTTP/3.
proxy_request_buffering off;
# Add Alt-Svc header to negotiate HTTP/3.
add_header alt-svc 'h3-27=":443"; ma=86400';
}
}
āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ HTTP/3 āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻž āĻāĻāĻ¨āĻ āĻ¸āĻŽā§āĻāĻŦ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ --enable-quic
, āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ¯āĻžāĻ¨ āĻŦāĻž, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, quic.rocks āĻ¸āĻžāĻāĻā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ§āĻ°āĻŖāĻāĻŋ āĻĻā§āĻā§āĻ¨:
HTTP/3 āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻŋ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ http2+quic/99
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻž āĻŽā§āĻ˛āĻ¤ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸.
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋ
- QUIC āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§
LiteSpeed (āĻ¯āĻž āĻā§āĻŦ āĻ§ā§āĻŽāĻ§āĻžāĻŽ āĻāĻ°ā§ HTTP/3 āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Facebook āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤) āĻāĻŦāĻ āĻĒā§āĻ°āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻž āĻ°āĻžāĻāĻŋāĻŦāĻžāĻ° āĻāĻ§āĻžāĻ° . āĻ ā§āĻ¯āĻžāĻĒāĻžāĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻžāĻ āĻāĻ˛āĻā§āĻĒā§āĻ°ā§āĻĻāĻŽā§ . - 21 āĻāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
WebRTC-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¸āĻĄāĻŧāĻž āĻŽāĻžāĻ¨ - āĻ āĻŋāĻ āĻ
āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ¨ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻĢā§āĻ āĻā§āĻ˛āĻ˛
msquic āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻā§āĻĄ , āĻ¯ā§āĻāĻžāĻ¨ā§ IETF āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻ¨āĻ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ āĻā§āĻ°āĻāĻ¤āĻŋāĨ¤
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
QUIC-āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻā§āĻ°āĻš āĻ
āĻ¸ā§āĻĨāĻŋāĻ°, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻžāĻĄāĻŧāĻā§, āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻŽāĻžāĻ¨āĻ¸āĻŽā§āĻŽāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ˛āĻā§āĨ¤ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻžāĻ¸ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋ āĻŦāĻāĻ° āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§ QUIC āĻšāĻ˛ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤āĨ¤ āĻāĻŽāĻ¨āĻāĻŋ TCP āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ āĻ¸āĻŽā§āĻāĻŦ, āĻ¯āĻžāĻ° āĻ
āĻ°ā§āĻĨ āĻšāĻ˛ āĻļā§āĻā§āĻ° āĻŦāĻž āĻĒāĻ°ā§ āĻ¸āĻŽāĻā§āĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻāĻ°āĻ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ¤ āĻ¸āĻāĻ¯ā§āĻā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§āĨ¤
āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ QUIC āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦāĻž āĻāĻŽāĻ¨āĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§āĻ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ - āĻ¤āĻžāĻ°āĻž āĻ¸āĻāĻ˛ā§āĻ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻā§, āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ¨āĻŋāĻāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻāĻāĻāĻ¨āĻ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻ°āĻ āĻĒā§āĻ°āĻĢā§āĻ˛ā§āĻ˛ āĻšāĻ¯āĻŧā§ āĻāĻ āĻŦā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com