Yanıtlar:
İçerik Uzunluğu varlık başlığı alanı, alıcıya gönderilen ondalık sayıdaki OCTET sayısıyla varlık gövdesinin boyutunu veya HEAD yöntemi durumunda, gönderilecek varlık gövdesinin boyutunu istek bir GET oldu.
İçerik türünün ne olduğu önemli değil.
Aşağıdaki yayında uzantı .
İstek veya yanıtın gövdesindeki verilerin bayt sayısıdır. Gövde, başlıkların altındaki boş satırdan sonra gelen bölümdür.
Content-Length
Başlık, bir HTTP gövdesinin tam bayt uzunluğunu gösteren bir sayıdır. HTTP gövdesi, başlangıç çizgisinden ve başlıklardan sonra bulunan ilk boş satırdan hemen sonra başlar.
Genellikle Content-Length
üstbilgi HTTP 1.1 için kullanılır, böylece alıcı taraf geçerli yanıtın * ne zaman bittiğini bilir , böylece bağlantı başka bir istek için yeniden kullanılabilir .
* ... veya POST, PUT veya PATCH gibi bir gövdeye sahip istek yöntemleri durumunda istek
Alternatif olarak, Content-Length
başlık atlanabilir ve bir yığın Transfer-Encoding
başlık kullanılabilir.
Her iki takdirde Content-Length
ve Transfer-Encoding
başlıklar eksik, o zaman tepki sonundaki bağlantı kapalı olmalıdır.
Aşağıdaki kaynak, HTTP hakkında bilgi edinirken çok yararlı bulduğum bir kılavuzdur:
Bir sekizli 8 bittir. İçerik uzunluğu, ileti gövdesinin temsil ettiği sekizli sayıdır.
OCTET
burada <herhangi bir 8 bit veri dizisi> anlamına gelen çok özel bir anlamı vardır. W3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
Buradan :
İçerik Uzunluğu varlık başlığı alanı, alıcıya gönderilen ondalık sayıdaki OCTET sayısıyla varlık gövdesinin boyutunu veya HEAD yöntemi durumunda, gönderilecek varlık gövdesinin boyutunu istek bir GET oldu.
Content-Length = "Content-Length" ":" 1*DIGIT
Bir örnek
Content-Length: 3495
Başvurular bu kuralların yasaklamadığı sürece, mesaj vücudun transfer uzunluğunu belirtmek için bu alanı kullanabilirsiniz GEREKEN bölüm 4.4 .
Sıfıra eşit veya sıfırdan büyük herhangi bir İçerik Uzunluğu geçerli bir değerdir. Bölüm 4.4, bir İçerik Uzunluğu verilmezse bir mesaj gövdesinin uzunluğunun nasıl belirleneceğini açıklar.
Bu alanın anlamının, "ileti / dış gövde" içerik türünde kullanılan isteğe bağlı bir alan olduğu MIME'deki karşılık gelen tanımdan önemli ölçüde farklı olduğuna dikkat edin. HTTP'de, bölüm 4.4'teki kurallar tarafından yasaklanmadığı sürece, mesajın uzunluğu aktarılmadan önce belirlenebildiğinde gönderilmelidir.
Benim yorumum, bunun "kablodaki" uzunluk, yani * kodlanmış "içeriğin uzunluğu anlamına gelmesidir.
"Content-length": "3495"
Gönderen bu sayfada
POST'un en yaygın kullanımı, HTML form verilerini CGI komut dosyalarına göndermektir. Bu durumda, Content-Type: üstbilgisi genellikle application / x-www-form-urlencoded şeklindedir ve Content-Length: üstbilgisi, URL kodlamalı form verilerinin uzunluğunu verir (burada URL kodlamasıyla ilgili bir not). CGI betiği ileti gövdesini STDIN aracılığıyla alır ve kodunu çözer. POST kullanarak tipik bir form gönderme:
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
Spec göre :
İçerik Uzunluğu varlık başlığı alanı, alıcıya gönderilen ondalık sayıdaki OCTET sayısıyla varlık gövdesinin boyutunu veya HEAD yöntemi durumunda, gönderilecek varlık gövdesinin boyutunu istek bir GET oldu.
Content-Length = "Content-Length" ":" 1*DIGIT
Bir örnek
Content-Length: 3495
Uygulamalar Bölüm 4.4'teki kurallar tarafından yasaklanmadığı sürece, mesaj gövdesinin aktarım uzunluğunu belirtmek için bu alanı KULLANMALIDIR.
Sıfıra eşit veya sıfırdan büyük herhangi bir İçerik Uzunluğu geçerli bir değerdir. Bölüm 4.4, bir İçerik Uzunluğu verilmezse bir mesaj gövdesinin uzunluğunun nasıl belirleneceğini açıklar.
Bu alanın anlamının, "ileti / dış gövde" içerik türünde kullanılan isteğe bağlı bir alan olduğu MIME'deki karşılık gelen tanımdan önemli ölçüde farklı olduğuna dikkat edin. HTTP'de, bölüm 4.4'teki kurallar tarafından yasaklanmadığı sürece, mesajın uzunluğu aktarılmadan önce belirlenebildiğinde gönderilmelidir.
İçerik Uzunluğu varlık başlığı alanı, alıcıya gönderilen ondalık sayıdaki OCTET sayısıyla varlık gövdesinin boyutunu veya HEAD yöntemi durumunda, gönderilecek varlık gövdesinin boyutunu istek bir GET oldu.
İçerik Uzunluğu = "İçerik Uzunluğu" ":" 1 * DIGIT
Bir örnek
İçerik Uzunluğu: 1024
Uygulamalar Mesaj gövdesinin aktarım uzunluğunu belirtmek için bu alanı KULLANMALIDIR.
PHP'de böyle bir şey kullanırsınız.
header("Content-Length: ".filesize($filename));
"Content-Type: application / x-www-form-urlencoded" durumunda, kodlanan veriler, göndereceğiniz verilerin uzunluğunu veya boyutunu ayarlayabilmeniz için atanan işleme aracına gönderilir.
Aşağıdaki gibi başlıklarınız olup olmadığını düşünün:
content-encoding: gzip
content-length: 52098
content-type: text/javascript; charset=UTF-8
İçerik uzunlukta boyutudur sıkıştırılmış "sekizli" (yani olmak ne 8 bit, birimlerinde tüm modern bilgisayarlar için "bayt") Mesaj gövdesi.
Boyut gerçek ileti gövdesinin başka bir şey, belki 150.280 bayt olabilir.
Bazı unicode karakterler birden çok bayt kullandığından karakter sayısı tekrar farklı olabilir, belki 150231 karakter (UTF-8'in standart bir kodlama olduğuna dikkat edin).
Bu nedenle, ne kadar verinin iletildiğine veya ne kadar verinin tutulduğuna veya kaç sembolün göründüğüne bağlı olduğunuza bağlı olarak farklı sayılar. Tabii ki, bu başlıkların sağlanacağının garantisi yoktur.