Błąd HTTP 414. Żądanie adresu URL jest za długie. asp.net
Pojawia się błąd „Błąd HTTP 414. URL żądania jest za długi”. z poniższego artykułu rozumiem, że ma to związek z bardzo długim ciągiem zapytania:
http://www.mytecbits.com/Micro ... -long
http://www.mytecbits.com/micro ... -long
- W web.config mam
maxQueryStringLength = "2097151"
. Czy to jest maksymalna wartość - Aby rozwiązać ten problem, czy powinienem ustawić
maxUrl
w web.config Jeśli tak, jaka jest maksymalna obsługiwana wartość
Co mam zrobić, aby naprawić ten błąd?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
http.sys
http://www.iis.net/learn/get-s ... rtext
a nie z IIS. Błąd występuje przed przesłaniem żądania do usług IIS w potoku żądania.
Aby wymusić na https.sys, aby akceptował dłuższe adresy URL żądań bez błędu HTTP 414, w rejestrze systemu Windows na komputerze serwera, w folderze Komputer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters, utwórz wartość DWORD o nazwie MaxFieldLength i wystarczająco dużą wartość , na przykład 65535.
Jeśli zdecydujesz się wprowadzić tę zmianę, oczywiście należy to zrobić we wszystkich środowiskach (w tym na wszystkich serwerach produkcyjnych), a nie tylko na lokalnym komputerze deweloperskim.
Ponadto wszelkie skrypty i/lub dokumentacja używane przez zespół do konfigurowania nowych instancji serwera powinny zostać zaktualizowane w celu uwzględnienia tego ustawienia rejestru, aby zespół nie zapomniał zastosować tego ustawienia po 18 miesiącach podczas konfigurowania nowego serwera produkcyjnego.
Na koniec należy pamiętać, że wprowadzenie tej zmiany może mieć niekorzystny wpływ na bezpieczeństwo wszystkich aplikacji działających na serwerze, ponieważ duże żądanie HTTP wysłane przez osobę atakującą nie zostanie odrzucone na wczesnym etapie potoku, jak normalnie miałoby to miejsce.
Alternatywnie do wprowadzenia tej zmiany w celu ominięcia zabezpieczeń http.sys, rozważ zmianę żądania tak, aby akceptowało HTTP POST zamiast HTTP GET i umieść parametry w treści żądania POST zamiast długiego adresu URL. Więcej informacji na ten temat znajdziesz w
Projekt pytania RESTful GET API z długą listą parametrów żądania
https://coderoad.ru/14202257/
.
Anonimowy użytkownik
Potwierdzenie od:
jaka jest maksymalna długość adresu URL w różnych przeglądarkach?
https://coderoad.ru/417142/
Dozwolona długość adresu URL zależy od kombinacji przeglądarki i serwera. Dlatego trudno jest dokładnie określić, jak długi może być adres URL. W odpowiedzi zaleca się pozostawienie adresu URL poniżej 2000 znaków. Nie wiem, dlaczego ciąg zapytania jest tak długi. Czy możesz to skrócić? Trudno jest udzielić żadnych wskazówek, nie wiedząc więcej o rozwiązaniu i ciągu zapytania.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Rozwiązał mój problem.