Bisakah seseorang memberi saya gambaran singkat tentang perbedaan antara HTTP 1.0 dan HTTP 1.1? Saya telah menghabiskan waktu dengan kedua RFC, tetapi belum bisa mengeluarkan banyak perbedaan di antara mereka. Wikipedia mengatakan ini:
HTTP / 1.1 (1997-1999)
Versi sekarang; koneksi persisten diaktifkan secara default dan bekerja dengan baik dengan proxy. Juga mendukung pemipaan permintaan, memungkinkan beberapa permintaan dikirim pada saat yang sama, memungkinkan server untuk mempersiapkan beban kerja dan berpotensi mentransfer sumber daya yang diminta lebih cepat ke klien.
Tetapi itu tidak berarti banyak bagi saya. Saya menyadari ini adalah topik yang agak rumit, jadi saya tidak mengharapkan jawaban lengkap, tetapi bisakah seseorang memberi saya gambaran singkat tentang perbedaan pada tingkat yang sedikit lebih rendah?
Maksud saya, saya sedang mencari info yang perlu saya ketahui untuk mengimplementasikan server HTTP atau aplikasi. Saya kebanyakan mencari dorongan ke arah yang benar sehingga saya bisa mengetahuinya sendiri.
Jawaban:
Dukungan proxy dan bidang Host:
HTTP 1.1 memiliki header Host yang diperlukan berdasarkan spesifikasi.
HTTP 1.0 tidak secara resmi memerlukan header Host, tetapi tidak ada salahnya untuk menambahkan satu, dan banyak aplikasi (proksi) berharap untuk melihat header Host terlepas dari versi protokol.
Contoh:
Header ini berguna karena memungkinkan Anda untuk merutekan pesan melalui server proxy, dan juga karena server web Anda dapat membedakan antara berbagai situs di server yang sama.
Jadi ini berarti jika Anda memiliki blahblahlbah.com dan helohelohelo.com keduanya menunjuk ke IP yang sama. Server web Anda dapat menggunakan bidang Host untuk membedakan situs mana yang diinginkan oleh mesin klien.
Koneksi gigih:
HTTP 1.1 juga memungkinkan Anda untuk memiliki koneksi persisten yang berarti bahwa Anda dapat memiliki lebih dari satu permintaan / respons pada koneksi HTTP yang sama.
Di HTTP 1.0 Anda harus membuka koneksi baru untuk setiap pasangan permintaan / respons. Dan setelah setiap respons, koneksi akan ditutup. Ini menyebabkan beberapa masalah efisiensi besar karena TCP Slow Start .
Metode PILIHAN:
HTTP / 1.1 memperkenalkan metode OPSI. Klien HTTP dapat menggunakan metode ini untuk menentukan kemampuan server HTTP. Ini sebagian besar digunakan untuk Cross Origin Resource Sharing dalam aplikasi web.
Caching:
HTTP 1.0 memiliki dukungan untuk caching melalui header: If-Modified-Sejak.
HTTP 1.1 memperluas dukungan caching dengan menggunakan sesuatu yang disebut 'tag entitas'. Jika 2 sumber daya sama, maka mereka akan memiliki tag entitas yang sama.
HTTP 1.1 juga menambahkan header bersyarat If-Unmodified-Because, If-Match, If-None-Match.
Ada juga tambahan lebih lanjut yang berkaitan dengan caching seperti header Cache-Control.
100 Lanjutkan status:
Ada kode pengembalian baru di HTTP / 1.1 100 Lanjutkan. Ini untuk mencegah klien mengirim permintaan besar ketika klien itu bahkan tidak yakin apakah server dapat memproses permintaan, atau diizinkan untuk memproses permintaan tersebut. Dalam hal ini klien hanya mengirim header, dan server akan memberi tahu klien 100 Lanjutkan, lanjutkan dengan tubuh.
Lebih banyak:
sumber
HTTP 1.0 (1994)
HTTP 1.1 (1996-2015)
HTTP 1.1 adalah peningkatan dari HTTP 1.0. Berikut ini daftar empat peningkatan utama:
Penggunaan alamat IP yang efisien, dengan memungkinkan beberapa domain dilayani dari satu alamat IP.
Respons lebih cepat, dengan memungkinkan peramban web mengirim beberapa permintaan melalui satu koneksi persisten.
sumber
Untuk aplikasi sepele (mis. Mengambil nilai suhu secara sporadis dari termometer yang diaktifkan web) HTTP 1.0 baik untuk klien dan server. Anda dapat menulis klien atau server HTTP 1.0 yang berbasis socket telanjang di sekitar 20 baris kode.
Untuk skenario yang lebih rumit, HTTP 1.1 adalah caranya. Harapkan peningkatan 3 hingga 5 kali lipat dalam ukuran kode untuk berurusan dengan seluk-beluk protokol HTTP 1.1 yang lebih kompleks. Kerumitan utamanya datang, karena dalam HTTP 1.1 Anda harus membuat, mengurai, dan merespons berbagai tajuk. Anda dapat melindungi aplikasi Anda dari kompleksitas ini dengan meminta klien menggunakan perpustakaan HTTP, atau server menggunakan server aplikasi web.
sumber
Masalah kompatibilitas utama adalah dukungan untuk koneksi persisten . Saya baru-baru ini bekerja pada server yang "mendukung" HTTP / 1.1, namun gagal untuk menutup koneksi ketika klien mengirim permintaan HTTP / 1.0. Saat menulis server yang mendukung HTTP / 1.1, pastikan juga bekerja dengan baik dengan klien HTTP / 1.0 saja.
sumber
Salah satu perbedaan pertama yang dapat saya ingat dari atas kepala saya adalah beberapa domain yang berjalan di server yang sama, pengambilan sumber daya parsial, ini memungkinkan Anda untuk mengambil dan mempercepat pengunduhan sumber daya (itulah yang dilakukan hampir setiap akselerator pengunduhan).
Jika Anda ingin mengembangkan aplikasi seperti situs web atau sejenisnya, Anda tidak perlu terlalu khawatir tentang perbedaan tetapi Anda harus tahu perbedaan antara
GET
danPOST
kata kerja setidaknya.Sekarang jika Anda ingin mengembangkan peramban maka ya, Anda harus mengetahui protokol yang lengkap serta jika Anda mencoba mengembangkan server HTTP.
Jika Anda hanya tertarik untuk mengetahui protokol HTTP, saya sarankan Anda mulai dengan HTTP / 1.1, bukan 1.0.
sumber
HTTP 1.1 adalah versi terbaru dari Hypertext Transfer Protocol, protokol aplikasi World Wide Web yang berjalan di atas protokol TCP / IP Internet. dibandingkan dengan HTTP 1.0, HTTP 1.1 menyediakan pengiriman halaman Web yang lebih cepat daripada HTTP asli dan mengurangi lalu lintas Web.
Lalu lintas web Contoh: Misalnya, jika Anda mengakses server. Pada saat yang sama begitu banyak pengguna mengakses server untuk data, Lalu ada kemungkinan untuk menggantung Server. Ini adalah lalu lintas Web.
sumber
HTTP 1.1 dilengkapi dengan header host dalam spesifikasinya sedangkan HTTP 1.0 tidak secara resmi memiliki header host, tetapi tidak menolak untuk menambahkannya.
Header host berguna karena memungkinkan klien untuk merutekan pesan melalui server proxy, dan perbedaan utama antara versi 1.0 dan 1.1 HTTP adalah:
sumber
Dibandingkan dengan 1.0, 1.1 mengurangi lalu lintas web
sumber