Es gibt ein Problem von einem unserer Kunden, der unsere Rest-basierte API verwendet, wenn er eine Post-Anfrage an unseren Server ohne AcceptEncoding HTTP-Header sendet, aber er erhält komprimierte Inhalte im Gegenzug. Ich überprüfte die IIS-Protokolle auf unserem API-Server, der seine Anfrage adressierte, und die auf dem Server empfangene Anfrage wurde mit einem Accept-Encoding (http-Header) geliefert, wie es auf gzip gesetzt ist. Zwischen dem Client-Rechner und unserem Server befinden sich Vermittler (Proxies) und Load-Balancer. Welches Netzwerk-Tracing-Tool sollte ich verwenden, um zu untersuchen, wo dieser HTTP-Header hinzugefügt wird.Netzwerk-Tracing für http-Anfragen
0
A
Antwort
1
Eine Lösung, um zu vermeiden, dass eine HTTP-Nachricht komprimiert wird, besteht darin, den Anforderungsheadern Cache-Control: no-transform
hinzuzufügen, um eine Änderung der Nutzlast durch Proxies zu vermeiden, wie in RFC 7234 section 5.2.1.6 angegeben.
Auch Via
Header kann nützliche Kommentare enthalten, die helfen können, wenn Sie suchen, was jeder Proxy der Anfrage hinzugefügt hat.
Verwandte Themen
- 1. Scala für() vs für {}
- 2. Verbindungszeichenfolge für Informix für .NET
- 3. Mindestanforderungen für Unity für Android?
- 4. Gruppe für Monat für Anwesenheitsliste
- 5. Modul für OneSignal für Appcelerator
- 6. Vorschlag für Vorlagenbuch für C++?
- 7. Alternative für BtsMSITask für BizTalk
- 8. Elmah für WCF für Ausnahmebehandlung
- 9. Beispiel für den Domain-Namen für mailgun be für nodejs?
- 10. Einstellung für Ländereinstellung für Java-Überschreibung für bestimmtes Gebietsschema
- 11. Implementieren von Bedingungsvariablen für CRITICAL_SECTIONs für WinThreads für XP
- 12. Alternative für ‚in‘ Operator für verschachtelte Listen
- 13. Validierung für TextBox für ein Benutzerformular
- 14. Jeder Ersatz für Bugsense für ACRA
- 15. "für" Schleife in einem anderen "für" Schleife
- 16. Empfehlung für Bildschirm-Video-Capture für Demos
- 17. istream für die Kommandozeileneingabe für C++/Poco
- 18. Zeitbedingung für Überprüfer für GCM Zweck
- 19. Swift: Verschlüsselte Eingabe für UITextField für Kartendetails
- 20. Relativer Pfad für Asset-Funktion für Laravel
- 21. Chrome für iOS: „Immer erlauben“ für Plätzchen
- 22. Spline-Interpolation für Werte für die Zeit
- 23. Beispiel für Akka EventBus für Java
- 24. Syntax für reguläre Ausdrücke für "Nichts anpassen"?
- 25. Admob Unterstützung für Kivy (Python für Android)
- 26. Sitzungsbehandlung für in WCF für ASP.net-Client
- 27. Pfad für die Installation Binärdateien für Kabale
- 28. Hilfe für EC2-api-Tools für Ubuntu
- 29. Ersatz für veralteten Facebook-Code für Android
- 30. Alternative für ssl_requirement Plugin für Rails 3?
Sie können zuerst eine Liste der Proxies erhalten, die von der Anfrage gekreuzt werden, indem Sie den 'Via'-Header Ihrer Client-Anfrage betrachten. Vielleicht gibt es einen Kommentar vom Proxy, der den Header 'Accept-Encoding' hinzugefügt hat. –
Sie können auch die Payload-Umwandlung vermeiden, indem Sie den Request-Headern Cache-Control: no-transform hinzufügen (siehe [hier] (http://stackoverflow.com/questions/10369679/do-http-proxy-servers-modify) -Request-Pakete)). –
@Jeff Vielen Dank, dass Sie mich in die richtige Richtung weisen, cache-control: no-transform funktioniert für mich, bitte können Sie Ihre Antwort im Antwortbereich posten, damit ich die Antwort akzeptieren kann –