HTTP: Wie soll ich zeigen, Content-Type und Content-Disposition, wenn der Client einen Bytebereich anfordert?

StackOverflow https://stackoverflow.com/questions/1401529

  •  05-07-2019
  •  | 
  •  

Frage

Ich fragte über Bytebereichen von PHP dient. Heute meine Frage ist - wie sollte ich Content-Type und Content-Disposition Header, wenn mehrere angeforderten Bytebereichen dienen? Soll ich wiederhole sie für jeden Byte-Bereich oder soll ich sie einmal am Anfang nur ausgegeben? Oder vielleicht sollte ich nicht ausgegeben, sie überhaupt, da der Client sollte schon wissen, was es ist zu fragen?

War es hilfreich?

Lösung

Im Allgemeinen wird die HTTP-Response-Header sollten die gleiche (wiederholt), wenn Sie die gesamte Ressource oder nur einen Teil davon zurückgeben; außer natürlich für die Content-Range-Header, die variieren.

Beachten Sie, dass HTTP staatenlos ist, so sollte jede Reaktion vollständig sein und in der Lage auf eigenen Beinen stehen. Wenn Bytebereichen dienen, sollten Sie wirklich auch Entity-Tags (ETags) verwenden; so dass es keine Chance, dass ein Kunde verlangen könnte und zwei separate Bytebereichen bekommen, die wirklich zu verschiedenen Revisionen derselben Ressource gehört.

Andere Tipps

Hier finden Sie aktuelle RFC 2616 (§§ 14,16 und 19,2 insbesondere) rel="nofollow. Wenn der Kunde einen einzigen Byte-Bereich anfordert, muss die Antwort einen einzigen Byte-Bereich enthalten, und der Content-Type und Content-Disposition Header-Werte nicht Verhalten ändern (sollten sie den Typen der Datei widerspiegeln wird serviert). Wenn jedoch der Client mehr Bytebereichen in einer einzigen Anforderung fordert, ist die Antwort eine Content-Type von „multipart / byteranges“ verwenden muß, statt und jedes Teil im Innern des Körpers legt seine eigenen Content-Type-Header.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top