206

Partial Content

Officiell
den begärda delen av resursen överfördes. Begäran var framgångsrik.

Specifikation av HTTP-statuskoden 206

Statuskoden 206 Partial Content anger att servern framgångsrikt uppfyller en begäran om intervall för målresursen genom att överföra en eller flera delar av den valda representationen som motsvarar de tillfredsställande intervall som finns i begäranens Range-huvudfält (avsnitt 3.1).

Om en enda del överförs MÅSTE servern som genererar 206 Partial Content-svaret generera ett Content-Range-huvudfält som beskriver vilket intervall av den valda representationen som är innesluten och en nyttolast som består av intervallet. Till exempel:

HTTP/1.1 206 Partial Content Partial Content
Date: Det är en del av en del av en del av en del av en del av en del av en del av en del av en del av en del av en del av en del av en del: Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif

... 26012 bytes partiell bilddata ...

Om flera delar överförs MÅSTE den server som genererar svaret 206 Partial Content generera en "multipart/byteranges"-nyttolast, enligt definitionen i tillägg A, och ett Content-Type-huvudfält som innehåller mediatypen multipart/byteranges och dess nödvändiga gränsparameter. För att undvika förvirring med svar i enstaka delar får en server INTE generera ett Content-Range-huvudfält i HTTP-huvuddelen av ett svar i flera delar (detta fält skickas i stället i varje del).

Inom rubrikområdet för varje kroppsdel i den flerstämmiga nyttolasten MÅSTE servern generera ett Content-Range-rubrikfält som motsvarar det intervall som ingår i den kroppsdelen. Om den valda representationen skulle ha haft ett Content-Type-huvudfält i ett 200 (OK)-svar, SKA servern generera samma Content-Type-fält i huvudområdet för varje kroppsdel.

Till exempel:

HTTP/1.1 206 Partial Content Partial Content
Date: Det är en del av den här artikeln som är en del av en annan artikel: Wed, 15 Nov 1995 04:58:08 GMT
Content-Length: 1741
Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES


--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 500-999/8000


... det första området...
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 7000-7999/8000


...det andra intervallet
--THIS_STRING_SEPARATES--

När flera intervall begärs, FÅR en server sammanfoga alla intervall som överlappar varandra eller som är åtskilda av en lucka som är mindre än omkostnaderna för att skicka flera delar, oavsett i vilken ordning motsvarande byte-range-specifikation förekom i det mottagna Range-huvudfältet. Eftersom den typiska överskjutande kostnaden mellan delar av en multipart/byteranges-nyttolast är cirka 80 byte, beroende på den valda representationens medietyp och den valda gränsparameterlängden, kan det vara mindre effektivt att överföra många små separata delar än att överföra hela den valda representationen.

En server MÅSTE INTE generera ett svar med flera delar på en begäran om ett enda intervall, eftersom en klient som inte begär flera delar kanske inte stöder svar med flera delar. En server KAN dock generera en multipart/byteranges-nyttolast med endast en enda kroppsdel om flera intervall begärdes och endast ett intervall befanns vara tillfredsställande eller endast ett intervall återstod efter sammanslagning. En klient som inte kan bearbeta ett multipart/byteranges-svar MÅSTE INTE generera en begäran som frågar efter flera intervall.

När en payload för ett multipart-svar genereras, SKA servern skicka delarna i samma ordning som motsvarande byte-range-specifikation fanns i det mottagna Range-huvudfältet, med undantag för de intervall som inte ansågs kunna uppfyllas eller som sammanfogades till andra intervall. En klient som tar emot ett svar i flera delar MÅSTE inspektera Content-Range-huvudfältet som finns i varje kroppsdel för att avgöra vilket intervall som ingår i den kroppsdelen; en klient kan inte förlita sig på att få samma intervall som den begärde, eller samma ordning som den begärde. När ett 206 Partial Content-svar genereras, MÅSTE servern generer

Källa / Citat från: HTTP-statuskoden 206 Partial Content anges i avsnitt 4.1 i RFC7233.

Hur skickar man en 206-statuskod med PHP?

För att kasta HTTP-statuskoden 206 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(206) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testa HTTP-statuskoden 206

För att kunna visa HTTP-statuskoden (i det här fallet 206 Partial Content) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:

Statuskod 206 Partial Content
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=206
Status: 206 Partial Content
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 206 Partial Content

Webbläsarnas kompatibilitet med statuskoden 206

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Konstanter i programmeringsspråk

http.StatusPartialContent
Response::HTTP_PARTIAL_CONTENT
:partial_content

Underhållande memes om HTTP-statuskoden 206

Bloggartiklar

SEO och HTTP-statuskoder: En omfattande analys

Optimering av en webbplats för sökmotorer (SEO) är ett komplext åtagande. En av de ofta förbisedda men avgörande aspekterna för en bra ranking är HTTP-statuskoder. Dessa små tresiffriga koder infor...

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub