HTTP Chunking 과 테스트 클라이언트 구현
·
HTTP
HTTP 1.1은 HTTP 메세지를 나눠서 보낼 수 있는 청크 인코딩을 지원 합니다. HTTP 1.1은 기본적으로 TCP 세션을 지속적으로 유지하며 (Persistent Connection = keep-alive = connection reuse), 이는 새로운 TCP 세션을 생성하기 위한 오버헤드를 제거해 네트워크 대기시간을 줄이는 방법 중 하나 입니다. 소켓 프로그래밍을 해본 사람을 알겠지만, 소켓을 재사용하기 위해서는 보내는 메세지의 정확히 길이를 알거나 종료 조건을 알아야 합니다. 따라서 사전에 HTTP 메세지의 본문(body)의 길이를 Content-Length 헤더를 통해 알려 주고, 수신 받는 쪽에서는 해당 바이트수(길이) 만큼 읽어 동일한 소켓을 종료하지 않고 연결을 유지하며 재사용 할..
IIS URL Rewrite 활용해서 파일명 없이 다운로드 받기
·
HTTP
간혹 웹페이지 수정을 최소화 하기위해서, URL에 파일명 없이 다운로드 받고 싶은 경우가 많이 있을 것이다. 예를 들어, http://www.example.com/latest/ 입력시, 가장 최신의 파일을 다운로드 받는 형태가 될 것이다. 물론 서버 사이드 스크립트나 자바스크립트 등을 활용해 쉽게 목적을 이룰 수 있지만, 코드 변경 없이 IIS 의 URL Rewrite 만을 활용해 처리해 볼 생각이다. IIS 에 Site 를 만들고, 문서 최상위 폴더 아래 다운로드 될 파일이 있는 file 이라는 폴더를 추가하고, 해당 폴더에 aaa.exe 라는 파일을 한개 추가 하였다. 서버 IP와 경로를 넣고 파일 명을 넣으면 정상적으로 파일이 다운로드 된다. http://192.168.111.10/file/aaa..