Mithilfe der HTTP-Range-Header mit einer Bandbreite Planer andere als bytes?

Die Kern-Frage ist, über die Verwendung der HTTP-Header, einschließlich BereichIf-RangeAccept-Ranges und einen Benutzer-definierten Bereich Planer.

Hier ist ein hergestellt Beispiel zur Veranschaulichung meiner Frage. Angenommen ich habe eine Web-2.0-Stil-Anwendung, die zeigt eine Art von Menschen lesbare Dokumente. Diese Dokumente sind redaktionell aufgeteilt in Seiten (ähnlich wie Artikel, die Sie sehen, auf news-Webseiten). Für dieses Beispiel gehen wir davon aus:

  • Es ist ein Dokument mit dem Titel "HTTP-Range-Frage" ist aufgeteilt in drei Seiten.
  • Der shell-Seite (/document/shell/http-range-question) kennt die meta-Informationen über das Dokument, einschließlich der Anzahl der Seiten.
  • Die erste lesbare Seite der das Dokument geladen ist, während die Seite ein onload-Ereignis über eine ajax BEKOMMEN und eingefügt auf der Seite.
  • Ein UI-Steuerelement, das aussieht wie [ 1 2 3 ] ist am unteren Rand der Seite, und klicken Sie auf eine Nummer wird angezeigt, dass die Seite lesbar (auch per ajax geladen), und klicken Sie auf "Alle" zeigt das gesamte Dokument. Übernehmen Sie diese URLS für die 1 -, 2 -, 3-und Alle Anwendungsfälle:
    • /document/content/http-range-question?page=1
    • /document/content/http-range-question?page=2
    • /document/content/http-range-question?page=3
    • /document/content/http-range-question

Nun zu der Frage. Kann ich mit dem HTTP Range-Header statt Teil der URL (z.B. einen querystring-parameter)? Vielleicht etwas wie dieses auf der GET /document/content/http-range-question Anfrage:

Range: page=1

Sieht es aus wie die spec definiert nur byte-ranges-als zulässige, also selbst wenn ich meine ajax-Aufrufe arbeiten mit dem browser und server-code, etwas in der Mitte konnte den Vertrag zu brechen (z.B. ein caching-proxy-server).

Range: bytes=0-499

Irgendwelche Meinungen oder realen Welt Beispiele von benutzerdefinierten Bereich Definitionen?

Update: ich habe eine ähnliche Frage über den Range-header ( Paging in eine Rest-Sammlung ), wo Sie erwähnen, dass das Dojo ist JsonRestStore verwendet eine benutzerdefinierte Range-header-Wert.

Range: items=0-24

InformationsquelleAutor der Frage Kevin Hakanson | 2009-09-16

Schreibe einen Kommentar