이런 잘못된 정보를 보면, 일반 개발자는 두 가지 이유를 짐작할 수 있습니다
1. 링크에 특수 문자가 포함되어 있습니다
2. 링크 길이가 너무 깁니다(길이가 원인이 아닌 것 같아요, 모호해서 잊었네요)
오류 이미지의 주소는 다음과 같습니다: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
다음으로, 우리는 발생할 수 있는 오류의 원인을 조사하기 시작했습니다
1. URL을 확인, 특수 문자가 없음(이 이유는 제외)
2. URL이 처음 보면 매우 길어 보이므로, 매개변수 길이의 절반을 삭제한 후 요청합니다. 결과적으로 성공할 수 있으며, 계속해서 문자를 추가하면 길이가 339를 초과하는 것을 발견하고 이 오류를 보고하며, 339 이후에는 특수 문자가 없습니다.결국 오류의 원인은 URL이 너무 길다는 점이라고 판단했습니다。
다음 단계는 관련 문제를 해결하는 것입니다
그리고 여러 Baidu가 있는데, 쿼리 문자열 길이 제한 수정과 관련된 구성을 확인하세요
그 다음 web.config를 수정하세요
1. httpRuntime 노드 아래의 maxQueryStringLength 및 maxRequestLength 구성을 수정합니다
2. system.webServer 노드를 다음과 같이 수정합니다
저장하고 실행할 때도 오류는 같고, 소용없어 보입니다
이때 저는 왜 안 되겠냐고 생각하기 시작했습니다. 저처럼 많은 사람들이 있을 수도 있고, IIS의 글로벌 설정을 생각하면 이 설정이 무효화되지 않을까, 우리는 여전히 모든 세트 값을 사용합니다
추측하지 말고 그냥 확인해 보세요 (확인하시는 requestFiltering은 system.webServer 아래에 있으니 잘못된 노드를 마세요)
만약 꺼져 있다면, overrideModeDefault 값은 부정(Deny)이며, 이는 저희 사이트의 특정 설정에 따라 구성이 이루어진다는 뜻입니다.
그럼 모든 게 정상인데, 왜 오류가 있는 거죠?!
마지막으로, stackoverflow에서 채택되지 않은 리버트가 제 관심을 끌었습니다
링크https://stackoverflow.com/questi ... is-invalid-in-iis-7
대략적으로 요청은 아직 IIS에 도달하지 않았고 운영체제에 의해 종료됩니다.
이때 저는 구글에서 마이크로소프트의 광 무선 기술 지원에 연결된 다른 기사를 검색했습니다
주소는 다음과 같습니다https://support.microsoft.com/zh ... ettings-for-windows
두 문서의 핵심은 레지스트리를 수정해야 한다는 것이며, 두 조항은 아마도 다음 두 가지 레지스트리의 값에 의해 수정될 것입니다
다음으로 시도해 보고 레지스트리 CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters로 가세요
빈 영역을 우클릭하여 사진에 보이는 대로 Dword 값을 선택하세요
UrlSegmentMaxLength라는 새 이름을 만들고 값을 2048로 설정한 후 확인(OK)을 클릭하세요
UrlSegmentMaxCount의 설정은 위와 동일하며, 값도 Dword 2048입니다. 확인 버튼을 클릭하세요.
이 수정은 HTTP 서비스가 재시작될 때만 적용될 수 있습니다
- Start를 클릭하고 Cmd를 입력한 후 확인을 누르세요.
- 명령 프롬프트에서 net stop http를 입력하고 Enter 키를 누르세요.
- 명령 프롬프트에서 net start http를 입력하고 Enter를 누르세요.
그 다음 IIS를 다시 시작하세요. 다시 시도해보세요, 알겠습니다, 오류 없고 완벽한 해결책입니다
|