Ich finde WebAPI separate HTTP-Antwort-Header an verschiedenen Orten, eine ist in Response.Headers, die andere in Response.Content.Headers. Beispielsweise befindet sich Etag in Response.Headers, während sich lastModified in dem anderen befindet. Was ist der Grund dafür?Unterschied zwischen den zwei Web-API-Header response.Content.Headers und response.Headers
Antwort
Es gibt ein paar Antworten auf diese Frage. Einer davon ist, dass die HTTP-Spezifikation die Header definiert.
RFC 2616
- Inhalt Header-Felder hier http://tools.ietf.org/html/rfc2616#section-7.1
- Anfrage-Header-Felder hier http://tools.ietf.org/html/rfc2616#section-5.3
- Header Antwortfelder hier http://tools.ietf.org/html/rfc2616#section-6.2
Der andere praktische Grund für den Inhalt Aussondern Header ist, dass es einfacher ist Schreibcode, der Daten in HTTP-Payloads und verarbeitet legt die zugehörigen Header unabhängig von den Anfrage-/Antwortobjekten fest.
Leider hat die neuere HTTPbis-Spezifikation eine Reorganisation vorgenommen, wo sie denken, Header sollten gehen und jetzt LastModified und Allow sind als Antwortfelder, nicht als Inhaltsfelder. Das bedeutet, dass die Header, wie sie in System.Net.HttpHeaders definiert sind, nicht mehr mit der Spezifikation übereinstimmen, was wirklich saugt. Es bedeutet auch, dass wir wahrscheinlich mit LastModified als HttpContent-Header und Etag als Antwortheader festgefahren sind.
HTTPbis
- 1. Finden Sie den Unterschied zwischen zwei Arrays
- 2. Den Unterschied zwischen zwei Daten/Zeiten
- 3. Unterschied zwischen den Inhalten von zwei Verzeichnissen
- 4. NLP Wie den Unterschied zwischen zwei Dokumenten
- 5. Den Unterschied zwischen zwei Daten finden
- 6. Nehmen Sie den Unterschied zwischen zwei Spalten
- 7. erhalten Unterschied zwischen zwei Zeilen und füllen Sie den Differenzwert
- 8. Unterschied zwischen zwei Arrays
- 9. Unterschied zwischen zwei Zeigervariablen
- 10. Unterschied zwischen zwei Abfrage
- 11. Finding den Unterschied zwischen Arrays und aktualisieren
- 12. Javascript-Unterschied zwischen zwei Wörtern
- 13. Zeiger! Unterschied zwischen zwei Ausdrücken
- 14. Unterschied zwischen zwei weißen Räumen
- 15. Java Unterschied zwischen zwei mal
- 16. Unterschied zwischen zwei DateTimes C#?
- 17. Nodejs Unterschied zwischen zwei Pfaden
- 18. Unterschied zwischen zwei DLL-Deklarationen
- 19. Bash - Unterschied zwischen zwei Listen
- 20. Grundsätzlicher Unterschied zwischen zwei Tabellen
- 21. Unterschied zwischen den Funktionstypen
- 22. Tage Unterschied zwischen zwei Daten
- 23. Unterschied zwischen zwei Dispo-Implementierungen?
- 24. Unterschied zwischen zwei Struts-Filtern?
- 25. VBA: Unterschied zwischen & und +
- 26. Den Unterschied zwischen Design- und Stilattributen verstehen
- 27. Unterschied zwischen den Präprozessordirektiven #if und #ifdef
- 28. Unterschied zwischen den Tabellen und temporären Tabellen
- 29. Unterschied zwischen den Ansichten und SELECT-Abfragen
- 30. Unterschied zwischen den Methoden PrintWriter.printf und PrintWriter.format
Vielen Dank @Darrel, wenn ich APIs implementiere, muss ich auf RFC2616 oder die vorherige 1.1 Spezifikation verweisen? – Bargitta
@Bargitta Die HTTPbis-Spezifikationen sind die besten, auf die Bezug genommen wird. http://tools.ietf.org/wg/httpbis/ –
vielen Dank, sehr hilfreich. – Bargitta