<\/HEAD>
In einem vorherigen Blogbeitrag<\/A> hat meine geschätzte Kollegin und Brettspiel-Rivalin Kelly Gerrow-Wilcox die Grundlagen des Erfassen von Webverkehr in einem Webbrowser mit den integrierten Browser-Entwicklertools erläutert. Aber wie sieht es aus, wenn Sie Dienste in ArcGIS Pro, ArcMap oder einem anderen Nicht-Browser-Client nutzen? Hier kommen: web traffic capturing tools ins Spiel. Es gibt zahlreiche kostenlose Tools (wie Fiddler<\/A>, Wireshark<\/A>, Charles<\/A> und andere), die es Nutzern ermöglichen, Webverkehr von ihren Computern zu erfassen. Dieser Blog konzentriert sich auf das Erfassen von HTTP\/HTTPS-Verkehr mit Fiddler. Ich habe Fiddler gewählt wegen seiner relativ einfachen Benutzeroberfläche und der breiten Akzeptanz im Esri Technical Support. <\/P><\/P>
<\/P>
Mittelstufe: Was bedeuten diese Details? Haben sie Bedeutung? Finden wir es heraus!<\strong>
Es gibt zahlreiche Registerkarten im Details-Bereich. Die nützlichsten (für unsere Zwecke) sind Zeitachse, Statistiken, und Inspektoren. Die anderen sind alle erweiterte Funktionen außerhalb des Umfangs dieses Blogs.<\span>
Die Registerkarten Statistiken und Zeitachse sind beide hilfreich bei der Untersuchung von leistungsbezogenen Problemen, zum Beispiel wenn ein Dienst lange zum Laden im Map Viewer benötigt. Die Registerkarte Zeitachse ist nützlich, um zu identifizieren, welche Anfrage in einem Mehrfachanfrageprozess als Engpass wirkt. Um die Registerkarte Zeitachse zu nutzen, wählen Sie mehrere Anfragen in der Web Sessions-Liste aus. Die Zeitachse zeigt die Anfragen in einem sequentiellen "Kaskaden"-Format an. Anfragen mit ungewöhnlich langer Dauer fallen durch eine deutlich längere Leiste in der Zeitachse auf.<\span>
<\span>
Statistiken zeigt die genauen Zeiten jedes Schrittes der Anfrage an, vom ersten Verbindungsaufbau des Clients bis zum letzten Schritt des Empfangs der Antwort durch den Client. Diese Aufschlüsselung ist nützlich, um möglicherweise zu erkennen, welcher Schritt im Prozess einer einzelnen Anfrage als Engpass wirkt. Zum Beispiel wenn jeder Schritt nur Bruchteile einer Sekunde dauert, aber es eine mehrsekündige Pause zwischen ServerGotRequest und ServerBeginResponse gibt, würde das darauf hinweisen, dass etwas auf Serverseite eine Verlangsamung verursacht. <\span>
<\span>
Schließlich ist die Registerkarte Inspektoren dort, wo der Großteil der Informationen angezeigt wird und wahrscheinlich wo der Großteil jeglicher Fehlerbehebung durchgeführt wird. Hier wird der Vorhang zurückgezogen und zeigt detailliert auf, wie Anwendungen mit Webdiensten interagieren. Inspektoren ist weiter in zwei Hauptbereiche unterteilt; die Anforderungsinformationen (alles bezogen auf die vom Client gesendete Anfrage) und die Antwortinformationen (alles bezogen auf die vom Server zurückgegebene Antwort). Beide Bereiche haben nahezu identische Unterteilungen, welche den Inhalt der Anfrage/Antwort in verschiedenen Formaten anzeigen. Nachfolgend sind die für unsere Zwecke nützlichen Registerkarten aufgeführt: Kopfzeilen – Eine Liste zusätzlicher Informationen, die nicht Teil der Hauptanfrage sind. Dies kann Informationen wie Sicherheits-/Authentifizierungsinformationen, das Datenformat der Anfrage oder Antwort, den Typ des Clients umfassen. Dies ist ein guter Ort, um ein ArcGIS Online Token zu finden, falls relevant. WebForms (anfragespezifisch) – Je nach Art der Anfrage zeigt dies eine Aufschlüsselung jedes Anforderungsparameters und dessen Wert an. Zum Beispiel zeigt dieser Abschnitt bei einer Suchanfrage die Parameter der Abfrage (wie Schlüsselwörter, Datumsbereiche usw.) an. ImageView (antwortspezifisch) – Wenn die Anfrage ein Bild betrifft, zeigt ImageView das zurückgegebene Bild an. Dies ist besonders nützlich bei Anfragen an gekachelte Dienste. Raw – Zeigt die gesamte Anfrage oder Antwort im Textformat an. < black;"> <\/SPAN>JSON<\/STRONG><\/SPAN> 93 Wenn die Anfrage\/Antwort Inhalte im JSON-Format enthe4lt, zeigt dieser Tab die Inhalte in einem besser lesbaren Format an. Dies ist besonders nfctzlich ffcr Anfragen\/Antworten an die REST api von ArcGIS Enterprise Servern.<\/SPAN><\/LI> <\/SPAN>XML<\/STRONG><\/SPAN> 93 Wenn die Anfrage\/Antwort Inhalte im XML-Format enthe4lt, zeigt dieser Tab die Inhalte in einem besser lesbaren Format an. Dies ist besonders nfctzlich ffcr Anfragen\/Antworten an OGC-Dienste.<\/SPAN><\/LI><\/UL><\/P><\/P>Erweitert: Das ist großartig Alan. Aber was soll ich eigentlich mit diesen Informationen anfangen? <\/STRONG><\/SPAN><\/H2>W<\/SPAN>ie Sie Netzwerkverkehrsinformationen verwenden, he4ngt davon ab, was Sie herausfinden oder lf6sen mf6chten. Die dcberprfcfung des Netzwerkverkehrs kann helfen, das Wo und Was eines Problems zu identifizieren, aber nicht die Lf6sung liefern. Hier kommen Ihr Wissen fcber Ihre App, Ihre Webdienste und falls alles andere fehlschle4gt, eine altbewe4hrte Websuche ins Spiel. Hier sind einige ge4ngige Beispiele, wie Sie das Problem eingrenzen kf6nnen, dem Sie gegenfcberstehen:<\/SPAN><\/P> <\/SPAN><\/P> <\/SPAN>Prfcfen Sie den HTTP\/HTTPS-Antwortcode im Bereich Web Sessions. Alles, was nicht 200 ist, sollte untersucht werden (es muss nicht unbedingt ein Problem sein, aber es lohnt sich, es anzusehen). Nochmals, <\/SPAN>hier ist eine Beschreibung dessen, was diese bedeuten<\/A>. Selbst eine 200-Antwort kann Fehlermeldungen oder andere nfctzliche Informationen enthalten.
<\/SPAN>Eine 304-Antwort von einem Server veranlasst den Client (Webbrowser, ArcMap usw.), den Cache des Clients zu verwenden, und Fiddler erfasst daher tatse4chlich keine komplette Antwort vom Server. Wenn es bei einer kritisch wichtigen Anfrage eine 304-Antwort gibt, versuchen Sie es erneut entweder im Inkognito-Modus oder lf6schen Sie den Cache Ihres Clients. <\/LI> <\/SPAN>Eine 401- oder 403-Antwort bedeutet typischerweise, dass der Server eine Art Authentifizierung verlangt. Dies wfcrde beispielsweise helfen, einen nicht freigegebenen Feature-Service in einer Webkarte zu identifizieren, der f6ffentlich geteilt wird. <\/SPAN><\/LI> <\/SPAN>Eine 504-Antwort bedeutet typischerweise, dass etwas abgelaufen ist. Verwenden Sie dies zusammen mit der oben genannten Timeline<\/STRONG>, Statistics<\/STRONG> und Overall Elapsed<\/STRONG>-Spalte zur Fehlerbehebung bei Leistungsproblemen.
<\/SPAN><\/LI><\/UL><\/LI> <\/SPAN>Wenn Sie die problematische Anfrage nicht finden kf6nnen, f6ffnen Sie die Tabs Raw, JSON oder XML der Antwort und scrollen einfach durch die Anfragen, um eine zu finden, die einen Fehler zurfcckgibt. <\/SPAN> <\/SPAN>Raw, JSON und XML enthalten genau dieselben Informationen, nur unterschiedlich formatiert.<\/SPAN><\/LI> <\/SPAN>Wenn Fehler auftreten, kann der in der Antwort aufgeffchrte Fehler detaillierter sein als der Fehler in der Benutzeroberfle4che der jeweiligen verwendeten Anwendung. <\/SPAN><\/LI><\/UL><\/LI><\/UL>
<\/SPAN><\/P>Finden Sie einen Weg irrelevante Anfragen zu ignorieren!!<\/STRONG>Einer der herausforderndsten Faktoren bei der Fehlerbehebung im Netzwerkverkehr ist das Volumen der Anfragen, die selbst ffcr kleinere Aktionen gesendet und empfangen werden. Nachfolgend finden Sie Strategien, um zu vermeiden, dass Ihr Protokoll mit unnf6tigen Anfragen 5cberflutet wird.Schalten Sie Capture aus (Datei > Capture Traffic deaktivieren), wenn Sie wissen, dass Fiddler keine relevanten Informationen erfasst.<\/LI>Schlie5fen Sie alle Browserfenster oder Hintergrundprozesse, die nicht ausgeffchrt werden mfcssen.<\/LI>Wenn Fiddler Verkehr erfasst, von dem Sie wissen, dass er nicht mit dem zusammenh2ngt, was Sie untersuchen, filtern Sie ihn aus den Web Sessions heraus durch Rechtsklick auf eine Sitzung > Filter > w2hlen Sie den Sitzungsparameter aus, den Sie filtern m2chten.<\/LI>Wenn Sie eine Anzahl von Anfragen erfasst haben, von denen Sie wissen, dass Sie sie nicht ben2tigen, w2hlen und l46schen Sie sie.<\/LI>Zielen Sie Fiddler darauf ab, nur Anfragen von einer einzigen Anwendung zu erfassen, indem Sie auf die Schaltfl2che 'Any Process' klicken (neben dem kleinen Zielsymbol), halten und dann Ihre Maus 5fcber der Anwendung loslassen, von der Sie erfassen m2chten. Dies w2re beispielsweise n5ctzlich, um allen Verkehr von ArcMap zu erfassen und alles zu ignorieren, was mit Ihren Browsern passiert. <\/>Li>
\n

\n
Nachdem Sie die(n) relevante(n) Anfrage(n) isoliert haben für das Problem das sie untersuchen können folgende Tipps helfen das eigentliche Problem zu bestimmen.
\n
\n- If you can isolate the problematic request consider what is the nature of that request in order to help determine any next steps.
\n\n
\n
\n- It's possible to resend any requests by right clicking a Web Session > Replay > Reissue and Edit.
\n\n- This is especially helpful for isolating a specific header or request parameter that might be problematic. Modify the information under WebForms or Headers to see if that fixes the problem you're encountering or reproduces the problem you're investigating.
\n- If you have a request that's succeeding and one that's failing copy the headers or WebForms parameters one at a time from the request that's working to the request that's failing Once the request works you've successfully isolated the parameter/header in the requests that's causing the problem.
\n
\n
\n
\n- It's possible to send repeated requests by right clicking a Web Session > Replay > Reissue Sequentially.
\n\n- This is helpful for capturing issues which might be intermittent Send the request 20 or 30 times automatically and see if hit the issue you're looking for.
\n
\n
\n
\n- Web service query requests can be viewed in the browser with a user-friendly interface This allows you to easily tweak and resend requests To view a query request in the browser:
\n
", Web-Traffic-bezogene GIS-Probleme, aber sie sind nützliche Werkzeuge zur Unterstützung. Mit etwas Übung kann die Nutzung dieser Art von Software helfen, eine Vielzahl von Problemen beim Zugriff auf Webdienste in GIS-Anwendungen zu lösen.
Haben Sie gute Fiddler- (oder allgemeine Netzwerkverkehrsprotokollierungs-) Tipps? Fühlen Sie sich frei, diese in den Kommentaren zu hinterlassen!<\/P><\/BODY><\/HTML>