Jawaban:
Bidang header entitas Konten-Panjang menunjukkan ukuran entitas-tubuh, dalam jumlah desimal OCTET, dikirim ke penerima atau, dalam hal metode HEAD, ukuran entitas-badan yang akan dikirim telah memiliki permintaan menjadi GET.
Tidak masalah apa jenis kontennya.
Ini adalah jumlah byte data di badan permintaan atau respons. Tubuh adalah bagian yang muncul setelah garis kosong di bawah header.
The Content-Length
header sejumlah yang menunjukkan suatu panjang byte yang tepat dari tubuh HTTP. Badan HTTP dimulai segera setelah baris kosong pertama yang ditemukan setelah baris awal dan tajuk.
Umumnya Content-Length
tajuk digunakan untuk HTTP 1.1 sehingga pihak penerima tahu kapan respons saat ini * selesai, sehingga koneksi dapat digunakan kembali untuk permintaan lain .
* ... atau permintaan, dalam hal metode permintaan yang memiliki badan, seperti POST, PUT atau PATCH
Atau, Content-Length
tajuk dapat dihilangkan dan Transfer-Encoding
tajuk yang dipotong dapat digunakan.
Jika keduanya Content-Length
dan Transfer-Encoding
tajuk tidak ada, maka di akhir respons koneksi harus ditutup.
Sumber daya berikut adalah panduan yang saya temukan sangat berguna ketika belajar tentang HTTP:
Satu oktet adalah 8 bit. Panjang konten adalah jumlah oktet yang diwakili oleh badan pesan.
OCTET
di sini memiliki arti yang sangat spesifik yang berarti <urutan data 8-bit>. Lihat definisi di w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
Bidang header entitas Konten-Panjang menunjukkan ukuran entitas-tubuh, dalam jumlah desimal OCTET, dikirim ke penerima atau, dalam hal metode HEAD, ukuran entitas-badan yang akan dikirim telah memiliki permintaan menjadi GET.
Content-Length = "Content-Length" ":" 1*DIGIT
Contohnya adalah
Content-Length: 3495
Aplikasi HARUS menggunakan bidang ini untuk menunjukkan panjang transfer badan pesan, kecuali jika ini dilarang oleh aturan di bagian 4.4 .
Setiap Konten-Panjang lebih besar dari atau sama dengan nol adalah nilai yang valid. Bagian 4.4 menjelaskan cara menentukan panjang badan pesan jika Panjang Konten tidak diberikan.
Perhatikan bahwa makna bidang ini sangat berbeda dari definisi yang sesuai di MIME, di mana ini adalah bidang opsional yang digunakan dalam tipe konten "message / external-body". Dalam HTTP, itu HARUS dikirim setiap kali panjang pesan dapat ditentukan sebelum ditransfer, kecuali ini dilarang oleh aturan di bagian 4.4.
Interpretasi saya adalah ini berarti panjang "di kabel", yaitu panjang konten * yang disandikan
"Content-length": "3495"
Dari halaman ini
Sejauh ini, penggunaan POST yang paling umum adalah mengirimkan data formulir HTML ke skrip CGI. Dalam kasus ini, header Content-Type: biasanya application / x-www-form-urlencoded, dan header Content-Length: memberikan panjang data form yang dikodekan URL (inilah catatan pada pengkodean URL). Skrip CGI menerima isi pesan melalui STDIN, dan menerjemahkannya. Berikut ini adalah pengiriman formulir yang khas, menggunakan POST:
POST /path/script.cgi HTTP/1.0 From: frog@jmarshall.com User-Agent: HTTPTool/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 32
Menurut spesifikasi :
Bidang header entitas Konten-Panjang menunjukkan ukuran entitas-tubuh, dalam jumlah desimal OCTET, dikirim ke penerima atau, dalam hal metode HEAD, ukuran entitas-badan yang akan dikirim telah memiliki permintaan menjadi GET.
Content-Length = "Content-Length" ":" 1*DIGIT
Contohnya adalah
Content-Length: 3495
Aplikasi HARUS menggunakan bidang ini untuk menunjukkan panjang transfer badan pesan, kecuali jika ini dilarang oleh aturan di bagian 4.4.
Setiap Konten-Panjang lebih besar dari atau sama dengan nol adalah nilai yang valid. Bagian 4.4 menjelaskan cara menentukan panjang badan pesan jika Panjang Konten tidak diberikan.
Perhatikan bahwa makna bidang ini sangat berbeda dari definisi yang sesuai di MIME, di mana ini adalah bidang opsional yang digunakan dalam tipe konten "message / external-body". Dalam HTTP, itu HARUS dikirim setiap kali panjang pesan dapat ditentukan sebelum ditransfer, kecuali ini dilarang oleh aturan di bagian 4.4.
Bidang header entitas Konten-Panjang menunjukkan ukuran entitas-tubuh, dalam jumlah desimal OCTET, dikirim ke penerima atau, dalam hal metode HEAD, ukuran entitas-badan yang akan dikirim telah memiliki permintaan menjadi GET.
Content-Length = "Content-Length" ":" 1 * DIGIT
Contohnya adalah
Panjang Konten: 1024
Aplikasi HARUS menggunakan bidang ini untuk menunjukkan panjang transfer badan pesan.
Di PHP Anda akan menggunakan sesuatu seperti ini.
header("Content-Length: ".filesize($filename));
Dalam hal "Tipe Konten: aplikasi / x-www-form-urlencoded" data yang disandikan dikirim ke agen pemrosesan yang ditunjuk sehingga Anda dapat mengatur panjang atau ukuran data yang akan Anda posting.
Pertimbangkan jika Anda memiliki tajuk seperti:
content-encoding: gzip
content-length: 52098
content-type: text/javascript; charset=UTF-8
Panjang konten adalah ukuran isi pesan terkompresi , dalam "oktet" (yaitu dalam satuan 8 bit, yang kebetulan merupakan "byte" untuk semua komputer modern).
The ukuran tubuh pesan yang sebenarnya dapat menjadi sesuatu yang lain, mungkin 150.280 bytes.
Jumlah karakter dapat berbeda lagi, mungkin 150231 karakter, karena beberapa karakter unicode menggunakan beberapa byte (perhatikan UTF-8 adalah pengkodean standar).
Jadi, angka yang berbeda tergantung pada apakah Anda peduli berapa banyak data yang dikirimkan, atau berapa banyak data yang disimpan, atau berapa banyak simbol yang terlihat. Tentu saja, tidak ada jaminan bahwa header ini akan diberikan ..