2011-08-08 4 views
0

압축 나는 일부 데이터 전송 시도 - HTTP 헤더에 의해 (변수 1 ~ 4 메가 ​​바이트), 그러나 ajax.response에서 다음과 같은 오류 반환 요청 헤더의 크기가 너무 긴문자열

HTTP 오류 400.

내가 할 수있는 방법이나 데이터를 압축하는 방법이 있습니까? 그렇다면 어떻게해야합니까? 도움을 주시면 감사하겠습니다. 미리 감사드립니다!

+0

큰 머리글에 무엇을 넣고 있습니까? 아약스를 통해 전송 된 대부분의 데이터가 헤더가 아닌 양식 게시물에 포함될 것으로 기대됩니다. –

+0

나는 AJAX에 의해 파일을 보내고있다. ASP.NET 애플리케이션의 ajax/post 값을 어떻게 읽을 수 있습니까? –

+0

ASP.NET을 통해 AJAX를 수행하는 몇 가지 방법이 있습니다. 그러나 AJAX를 통해 파일을 업로드하는 방법을 알지 못합니다. 현재하고있는 일 (클라이언트와 서버 모두)은 어떻게하고 있습니까? 헤더 대신 양식 게시를 사용하도록 변경할 수 있습니다. –

답변

1

개인적으로 허용 가능한 헤더의 크기가 개인적으로 높습니다. MS suggests the same 그리고 필요한 경우 16MB로 늘리는 방법은 instructions입니다 (MaxRequestBytes 참조).

+0

내 웹에서 다음을 사용하고 있습니다.config :

+0

그 양은 바이트로 가정합니다 (예 : 4Kb). –

+0

@djacobson : httpRuntime maxRequestLength 속성은 킬로바이트 단위입니다. –

1

대부분의 http 서버는 헤더에 대해 약 8-16KB를 허용합니다. 따라서 데이터가 너무 큰 경우 POST 메서드를 사용하여 보내면됩니다.

4

많은 양의 데이터를 전송하는 경우 헤더가 아닌 요청 본문 (예 : HTTP POST)에 넣으십시오. 헤더 크기 제한을 늘리면 (cwallenpoole에서 알 수 있듯이) 여전히 웹 프록시 뒤에있는 사용자에게 문제가 발생할 수 있습니다.

+0

예. 나는 1 위 자리에 POST를 할 것입니다. 그것이 바로 그 때문입니다. 헤더는 뚱뚱한 데이터를위한 것이 아니며 웹 서버를 재구성하여 가능하다는 것을 의미하는 것이 옳다는 것을 의미하지는 않습니다. +1 – spender