Bagaimana versi HTTP dari permintaan browser dan versi HTTP dari respons server ditentukan?

2

Adakah yang bisa memverifikasi apakah asumsi saya benar?

Saya pikir browser paling populer (Chrome, Firefox, ...) sebagai standar mengirim permintaan dengan HTTP / 1.1 di setiap baris permintaan.

Saya pikir apakah respons HTTP / 1.1 diberikan atau tidak ditentukan oleh server Web (E.g. Versi spesifik Apache, Nginx, ...) yang menampung aplikasi web. Saya menganggap semua server web modern sekarang memiliki HTTP / 1.1. Jika server web tidak mendukung HTTP / 1.1, saya pikir itu akan menafsirkan permintaan HTTP / 1.1 seolah-olah itu HTTP / 1.0 dan memberikan respons HTTP / 1.0.

Bentley4
sumber

Jawaban:

2

Ya, saya yakin Anda memiliki intinya dengan satu pengecualian:

  1. setiap permintaan menentukan level protokol http
  2. server web memutuskan apa yang harus dilakukan secara berbeda (jika ada) berdasarkan permintaan dengan versi tingkat atas / bawah.
  3. HTTP / 1.1 sudah mapan dan server yang layak akan mendukungnya

Namun, versi yang cocok tidak begitu adaptif seperti yang Anda sarankan. jika permintaan klien menentukan versi MAJOR yang tidak didukung server, server akan merespons

505 HTTP Version Not Supported

dalam kasus Anda, 1.1 dan 1.0 membagikan versi utama, jadi (dengan beberapa pengecualian) asumsi Anda benar, server akan mencoba menanggapi permintaan tingkat bawah.

untuk info lebih lanjut tentang kode respons http, lihat RFC 2616 bagian 10 dan bagian 3.1

Frank Thomas
sumber