| HTTP의 GET 길이제한(?)과 MSIE의 에러페이지 | 작성일 : 2005/09/03 23:30 |
| 조회수 : 12181 |
|
제 목 : HTTP의 GET 길이제한(?)과 MSIE의 404 에러페이지 작성자 : 좋은진호(truefeel, http://coffeenix.net/ ) 작성일 : 2005.9.3(토) 간혹 웹에서 GET 요청의 길이 제한은 얼마냐 되느냐는 질문을 받는다. 또한 인터넷익스플로러(이하 MSIE)에서는 서버로 부터 404 에러코드를 받으면 무조건 브라우저 자체의 에러페이지를 출력한다는 말을 하는 사람도 있다. 이부분에 대해서 정리해두고자 한다. 1. HTTP에서 GET method의 길이 제한있나? HTTP 1.1 (http://www.w3.org/Protocols/rfc2616/rfc2616.html)에 정의된 method는 8개가 있으며, URL의 길이 제한에 대한 정의는 없다. --------- ------------------------------------------------- Method 설명 --------- ------------------------------------------------- GET 요청할 정보를 URI에 의해서 POST message-body를 통해 데이터를 전송한다. 클라이언트의 데이터를 서버로 전송 HEAD GET과 유사하게 URI에 의해 정보를 요청하나 요청 데이터(message-body)를 클라이언트로 전송하지 않음. OPTIONS 사용가능한 메쏘드에 대한 정보를 보여줌 PUT 데이터를 서버에 저장하기 위한 용도. 즉, 파일을 업로드 하는데 사용 실제로는 거의 사용 안함 DELETE 리소스 삭제 (WebDAV에서 주로 사용) TRACE 요청한 URI가 클라이언트로 오는 경로를 보여줌 CONNECT proxy 요청 --------- ------------------------------------------------- 그럼 왜 길이제한에 대한 얘기가 나왔을까? 바로 MSIE 브라우저 때문이다. MSIE를 사용할 경우 URL길이는 2083bytes로 제한되며, GET 메쏘드를 사용하는 경우 2048Bytes로 제한된다. * http://support.microsoft.com/default.aspx?scid=KB;en-us;q208427
2. MSIE에서 404 등의 에러페이지에 대해 Apache 웹서버에는 ErrorDocument 설정(다른 웹서버도 설정 가능)을 통해서 404, 500, ... 등의 에러코드에 따라 정의된 페이지를 보여 줄 수가 있다. 그러나 MSIE에서는 이런 설정과 무관하게 브라우저 자체 메시지를 뿌려주는 경우가 있다. 에러페이지의 내용이 512bytes를 넘지 않으면 자체 페이지를 띄우기 때문이다. 표시할 내용이 없더라도 페이지내에 <! -- .... --> 등으로 주석 넣어 512bytes 이상만 되도록 하면 된다. * http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807
|
|||||||||
|
|