참고 ¶
덧말 ¶
* 제작 작성해본 결과 HTTP Application 의 기본적인 사항은 에코서버의 연장선에 있습니다. RFC1945 를 확인하면 아주 단순한 형태의 구현만으로도 충분히 간단한 웹 서버의 동작을 구현하는 것이 가능합니다. (물론 이는 웹 브라우저가 RFC1945 의 HTTP-message BNF 의 가장 단순한 형태를 지원한다는 가정하에서 입니다.) CGI, 로드밸런싱을 이용할 수 있을 정도의 구현이 아닌이상 이는 단순한 에코서버의 연장선과 크게 다르지 않습니다. (어쩌면 모든 네트웍 프로그램이 에코서버일지도 -_-;)
프락시 서버 역시도 기본적으로 웹 서버와 동작이 다르지 않으며, Cache 의 방법과 로깅을 처리하는 방식에서 차이만 존재한다고 생각이 됩니다. 물론 핵심적인 부분이기 때문에 각 프락시 서버의 핵심기술이라고 볼 수 있겠지만, 이는 학과의 개인 프로젝트의 수준을 넘는 처리이므로 불필요하다고 보아지는 바, 역시 프락시 역시도 에코서버의 확장형으로 보아도 무방할 듯 합니다.
최초 작성하시는 분들은 우선 자신이 구현하려고 하는 웹 서버의 동작의 기본적인 구조(멀티쓰레드, 멀티프로세스, IO멀티플렉싱 등)를 결정하시고, 해당 방식으로 구현된 에코서버를 작성 혹은 소스를 구하신 후 웹브라우저의 HTTP request 를 읽어 분석한뒤, 알맞는 파일을 브라우저의 소켓으로 보내는 형태로 작성하시길 권합니다.
기본 소켓의 HELLO WORLD 만 주고 받을 줄 알고 HTTP BNF 만 주어진다면 1~3시간 이내로도 해결할 수 잇는 단순한 형태의 프로그램입니다.
데블스 캠프에서 만들어도 좋겠네요. 충분히 흥미잇는 주제가 될 듯합니다. 채팅 서버도 좋겠지만...
프락시 서버 역시도 기본적으로 웹 서버와 동작이 다르지 않으며, Cache 의 방법과 로깅을 처리하는 방식에서 차이만 존재한다고 생각이 됩니다. 물론 핵심적인 부분이기 때문에 각 프락시 서버의 핵심기술이라고 볼 수 있겠지만, 이는 학과의 개인 프로젝트의 수준을 넘는 처리이므로 불필요하다고 보아지는 바, 역시 프락시 역시도 에코서버의 확장형으로 보아도 무방할 듯 합니다.
최초 작성하시는 분들은 우선 자신이 구현하려고 하는 웹 서버의 동작의 기본적인 구조(멀티쓰레드, 멀티프로세스, IO멀티플렉싱 등)를 결정하시고, 해당 방식으로 구현된 에코서버를 작성 혹은 소스를 구하신 후 웹브라우저의 HTTP request 를 읽어 분석한뒤, 알맞는 파일을 브라우저의 소켓으로 보내는 형태로 작성하시길 권합니다.
기본 소켓의 HELLO WORLD 만 주고 받을 줄 알고 HTTP BNF 만 주어진다면 1~3시간 이내로도 해결할 수 잇는 단순한 형태의 프로그램입니다.
데블스 캠프에서 만들어도 좋겠네요. 충분히 흥미잇는 주제가 될 듯합니다. 채팅 서버도 좋겠지만...