HTTP (Hypertext Transfer Protocol) β€” ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΎΠ±ΠΌΠ΅Π½Π° запросами ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, API ΠΈ reverse proxy.

Запрос ΠΈ ΠΎΡ‚Π²Π΅Ρ‚

ΠšΠ»ΠΈΠ΅Π½Ρ‚ отправляСт ΠΌΠ΅Ρ‚ΠΎΠ΄, адрСс рСсурса, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈ нСобходимости Ρ‚Π΅Π»ΠΎ. Π‘Π΅Ρ€Π²Π΅Ρ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ состояния, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ Ρ‚Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°.

GET /health HTTP/1.1
Host: example.com
 
HTTP/1.1 200 OK
Content-Type: text/plain
 
ok

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

  • GET β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ рСсурс;
  • POST β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ рСсурс;
  • PUT β€” Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ рСсурс;
  • PATCH β€” частично ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ рСсурс;
  • DELETE β€” ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ рСсурс;
  • HEAD β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.

ΠšΠΎΠ΄Ρ‹ состояния

  • 2xx β€” ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°;
  • 3xx β€” ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅;
  • 4xx β€” ошибка запроса ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°;
  • 5xx β€” ошибка сСрвСра.

Вранспорт

HTTP/1.1 ΠΈ HTTP/2 ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… TCP. HTTP/3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ QUIC ΠΏΠΎΠ²Π΅Ρ€Ρ… UDP. HTTPS β€” это HTTP, Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹ΠΉ TLS, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 443.

HTTP Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ состояниС ΠΌΠ΅ΠΆΠ΄Ρƒ запросами. БСансы Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ cookie, Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ прилоТСния.

Диагностика

curl -v https://example.com/
curl -I https://example.com/

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ DNS, TLS, ΠΊΠΎΠ΄ состояния, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, пСрСнаправлСния ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹.

БвязанныС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ