나는 org.apache.http.impl.client.CloseableHttpClient
을 사용하고 있습니다. 다른 클라이언트 때문에, 연결java.net.SocketException : 연결 재설정, 대형 HTTP 헤더
연결이 아마 서버에 의해 초기화되지 않는 재설정 :
java.net.SocketException의이 : 헤더 중 하나의 크기가 큰 (103452
주위 바이트) 때마다, 나는 얻을 다른 Java 응용 프로그램 (아마도 봄 OAuth/REST 클라이언트 사용)에서 비슷한 머리글을 보내는 동안 서비스를 사용할 수있는 것으로 보입니다.
큰 머리글을 보낼 필요가 없도록하는 것이 적절한 경우에도 큰 머리글에서 충돌하지 않도록 org.apache.http.impl.client.CloseableHttpClient
의 구성이 있습니까?
HttpClientBuilder.create().useSystemProperties().build()
서버가 요청을 거부하지 않았습니까? HTTP 스펙은 제한을 두지 않으며 아파치 클라이언트가 기본 설정에서이를 부과한다고 생각하지 않는다. 그러나 웹 서버는 ... 자세한 내용은 https://stackoverflow.com/questions/686217/maximum-on-http-header-values를 참조하십시오. 웹 서버가 부과하는 제한은 단일 헤더가 아닌 모든 헤더의 결합 된 크기에 대한 것입니다. – Alex
좋은 지적. 내가 확인하겠습니다 – erjoalgo
답변으로 의견을 추가해주세요. 나는 로컬 서버에 요청을 보냈다 :'sudo nc -l 80'. 100Kb 헤더가있는 요청은 apache http 클라이언트가 완벽하게 보냈습니다. 동시에 curl 클라이언트를 통해 실제 서버에 동일한 요청을 보내려고했지만'curl : (56) Proxy CONNECT aborted'가 발생했습니다. 따라서 프록시조차도 큰 헤더 크기를 거부 할 수 있습니다. – erjoalgo