Warum sind die meisten API-Paginierungen nicht auf den HTTP-Range-Header angewiesen?

9

Ich habe viel gesucht, aber ich kann keine gute Antwort auf diese Frage finden. Als HATEOAS-Aficionado würde ich denken, dass dieser Header perfekt passt:

%Vor%

In der HTTP-Spezifikation verstehe ich einige "Widersprüche" nicht: Die Bereichseinheit kann "andere Bereichseinheit" akzeptieren ...

%Vor%

... noch ist die Spezifikation später explizit:

  

Die einzige durch HTTP / 1.1 definierte Bereichseinheit ist "Bytes". HTTP / 1.1-Implementierungen können Bereiche ignorieren, die mit anderen Einheiten angegeben wurden.

Schließlich endet die Spezifikation mit dieser Aussage:

  

HTTP / 1.1 wurde entwickelt, um Implementierungen von Anwendungen zu ermöglichen, die nicht auf der Kenntnis der Bereiche angewiesen sind.

  • Ist eine andere Einheit als Byte erlaubt?
  • Wenn HTTP / 1.1 so konzipiert wurde, dass die App nicht von der Reichweite abhängig ist, was ist dann wirklich der Nachteil, wenn man sich darauf für eine API verlässt?

NB: Ich interessiere mich nicht für "Browsability".

    
ludofleury 13.02.2014, 21:10
quelle

2 Antworten

2

Hier die Antworten, die ich vorsichtig von dieser Frage dank @pritid ausgeliehen habe: Inhaltsbereichs-Header - zulässige Einheiten? .

Zuerst werden benutzerdefinierte Einheiten in diesem Entwurf vorgeschlagen HTTP / 1.1, Teil 5: Bereichsanfragen und Teilantworten

Zweitens gibt es einen feinen Unterschied, die erste Aussage wurde für den Zweck der Analyse gemacht

%Vor%

Während die zweite Anweisung für die Erstellung der HTTP-Anfrage erstellt wurde.

Schließlich fasst der ganze Kommentar von Ferenc Mihaly die Situation perfekt zusammen:

  

Ich stimme der HTTP-Spezifikation zu, wenn ich [eine benutzerdefinierte Bereichseinheit] sende, und sie stimmen mit HTTP überein, wenn sie es ignorieren

     

WebDAV verwendet HTTP-Erweiterungen korrekt, IMO, funktioniert aber aus genau diesem Grund selten über das Internet

    
ludofleury 13.02.2014, 22:32
quelle
0

In den meisten Fällen möchten Sie nicht alle Ihre Artikel standardmäßig anzeigen. Bei p = 2 Seiten ist es ok, root / für die erste Seite zu reservieren. Mit "Range" Header wäre es seltsam Verhalten. HTTP wurde vor langer Zeit überbläht, daher würde ich nicht empfehlen, jeden Header als Wahrheit zu akzeptieren.

    
Ivan Kleshnin 15.01.2015 11:00
quelle

Tags und Links