C로 간단한 HTTP 서버를 구축해야합니다. 지침이 있습니까? 연결? 샘플?
C로 간단한 HTTP 서버를 구축해야합니다. 지침이 있습니까? 연결? 샘플?
답변:
나는 당신이 작은 httpd를 살펴볼 것을 제안한다 . 처음부터 작성하고 싶다면 RFC 2616 을 철저히 읽고 싶을 것 입니다. BSD 소켓 을 사용 하여 매우 낮은 수준에서 네트워크에 액세스하십시오.
tiny httpd
여기 GitHub의에 있습니다 : github.com/larryhe/tinyhttpd
다음을 살펴 보시기 바랍니다. 클라이언트 및 서버 작성에 대한 실용적인 가이드
증분 단계에서 구현해야하는 것은 다음과 같습니다.
nweb (Nigel의 웹 서버), "단지 200 줄의 C 소스 코드가있는 작고 안전한 웹 서버 [...]"를보십시오.
https://drive.google.com/file/d/0B3msld7qnNOhN1NXaFIwSFU2Mjg/view?usp=sharing
http://www.ibm.com/developerworks/systems/library/es-nweb/
이 기사에는 의사 코드, 설명 및 주석이 포함되어 있습니다.
편집 : IBM의 링크가 죽었습니다. 웹 페이지의 PDF를 Google 드라이브에 저장했습니다. 다음은 코드 다운로드입니다.
https://drive.google.com/file/d/0B3msld7qnNOhSGZGdDJJMmY0VHM/view?usp=sharing
@ ankushagarwal 은 몇 가지 사항을 변경하고 GitHub에 자신의 버전을 업로드했습니다. https://github.com/ankushagarwal/nweb
나는 당신이 사용할 수있는 내 자신을 썼습니다. 이 작업은 sqlite를 가지고 있으며 스레드로부터 안전하며 UNIX 용 C ++입니다.
분리하여 C 호환 코드를 사용할 수 있어야합니다.
lighthttpd 와 같은 소스를 보는 것이 좋습니다 .
http://www.manning.com/hethmon/-Manning의 "Illustrated Guide to HTTP by Paul S. Hethmon"은 HTTP 프로토콜을 배우기에 매우 좋은 책이며이를 구현 / 확장하는 사람에게 매우 유용 할 것입니다.