ΠΠΎΡΠ»Π΅ 5 ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠΉ Π²ΡΠΏΡΡΠΊ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° nginx 1.20.2 ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ 1.20.X, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π²ΡΠΏΡΡΠΊΠ°:
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ OpenSSL 3.0.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠ³ ΠΏΡΡΡΡΡ SSL-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ;
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π·Π°ΠΊΡΡΡΠΈΡ keepalive-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ gRPC-Π±ΡΠΊΠ΅Π½Π΄Π°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ GOAWAY-ΡΡΠ΅ΠΉΠΌΠ°;
- Π£ΡΡΡΠ°Π½Π΅Π½Ρ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ SSL-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊ Π±ΡΠΊΠ΅Π½Π΄Π°ΠΌ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ stream;
- Π£ΡΡΡΠ°Π½Π΅Π½Ρ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ SSL-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ c gRPC-Π±ΡΠΊΠ΅Π½Π΄Π°ΠΌΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² select, poll ΠΈΠ»ΠΈ /dev/poll;
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $content_length ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ chunked transfer encoding;
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ HTTP/2 ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ aio_write.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru