Żądanie Chrome mówi "Pokazywane są tymczasowe nagłówki":
Za pierwszym wysłaniem tego żądania przez przeglądarkę żądanie zostaje zablokowane i nie otrzymuje odpowiedzi. Gdy przeglądarka zostanie poproszona o ponowne przesłanie tego żądania, zgłosi to ostrzeżenie, jeśli poprzednie to samo żądanie nie zostało odpowiedziane, więc gdzie będzie problem?
Spotkałem się z tym kilkakrotnie w projekcie i przedstawię różne scenariusze:
1. Tymczasowe nagłówki pojawiają się przy uchodźe do przeglądarki wszystkich klientów:
Jak sobie z tym poradzić: Sprawdź stronę, na której wywołano żądanie, aby zobaczyć, czy zgłoszenie formularza i żądanie Ajax są uruchamiane jednocześnie.
Na przykład zdefiniuj przycisk, typ to submit, oraz zdefiniuj zdarzenie ajax dla przycisku;
Ten scenariusz jest jednym z tych, które pojawiły się w naszym wcześniejszym procesie rozwoju
2. Pojawiają się niektóre przeglądarki klienckie
Jak sobie z tym poradzić: Zadzwoń do chrome://net-internals/#events Chrome, następnie ponownie wywołaj żądanie, a następnie sprawdź log, gdzie wyświetlane są nagłówki Provisional (Prowizoryczne);
Sprawdź, czy istnieją delegate_blocked_by słowa kluczowe; Zazwyczaj wynika to z wtyczki przeglądarki lub oprogramowania klienta przechwytującego żądanie; Sytuacja, którą mamy, jest przechwytywana przez WebSense Endpoint;
Jeśli tak jest, można to zasadniczo zignorować, czyli problem klienta; Możesz rozważyć odinstalowanie wtyczki lub oprogramowania i spróbować ponownie, aby sprawdzić, czy nadal się pojawia; Jeśli nadal występuje, sprawdź, czy spełnia następujące warunki
3. Wszyscy klienci mieli ten błąd losowo i okazjonalnie, a jeśli tak jest, to często jest to problem po stronie serwera
Metoda obsługi: Rozwiązywanie problemów na podstawie architektury wdrożenia. Na przykład kilka kluczowych procesów w naszej architekturze wdrożeniowej to nginx----> aplikacja brama----> równoważnik obciążenia F5----> serwer aplikacji (docker)
Możesz rozwiązywać problemy warstwa po warstwie, najprostszy sposób to bezpośrednio napisać żądanie for loop curl za pomocą polecenia powłoki serwera serwera i najpierw wywołać najniższy serwer aplikacji (jeśli obawiasz się, że ciśnienie jest za małe, możesz go obniżyć za pomocą wielu wątków); Naciskając na kolej; W trakcie testów obciążeniowych możesz w czasie rzeczywistym zobaczyć, czy żądanie zostanie zablokowane; Jeśli zostanie znaleziona, bardzo prawdopodobne, że problem leży w oto:
Obecnie napotkaliśmy dwie sytuacje: jedna dotyczy poziomu F5, gdzie niektóre żądania są bezskutecznie zbilansowane obciążenia do serwera aplikacji; Jest też sytuacja, gdy utknął na poziomie nginx;
Rozwiązanie: Strategia równoważenia obciążenia na poziomie F5 została zmieniona z wydajności L4 na standard.
Plan obsługi sytuacji na poziomie nginx: Nie brałem w tym udziału, rozumiem, że modyfikowanie wielu konfiguracji nginx nie ma efektu, a ostatecznie po prostu zabijam i instaluję od nowa, więc nie znalazłem kluczowego punktu
Moje własne rozwiązanie, ponieważ Fiddler 4, którego używam, nie jest normalnie zamknięty, więc otworzyłem ponownie Fiddler 4, spróbowałem zażądać strony internetowej i wszystko wróciło do normy, w tym momencie zamykam Fiddler 4 ponownie.
|