제목에서 알 수 있듯이 HTTP 서버를 작성하고 싶습니다. 내 질문은 이것입니다. 어떻게해야합니까? 나는 이것이 매우 일반적이고 너무 "높은 수준"인 것처럼 들리지만 내 광기에 대한 방법이 있습니다. 이 질문에 대한 답은 언어에 구애받지 않아야한다고 생각합니다. 즉, 내가 사용하는 언어 (예 : C, C ++, Java 등)에 관계없이 대답은 동일해야합니다. 이것이 어떻게 작동 해야하는지에 대한 일반적인 아이디어가 있습니다.
- 포트 80에서 소켓을 엽니 다.
- 클라이언트가 요청을 기다립니다.
- 요청을 읽습니다 (예 :이 사용자는 "contact-us.html"페이지를 원함).
- "contact-us.html"을 찾아 읽으십시오.
- html 헤더를 보낸 다음 "contact-us.html"의 내용을 보내십시오.
- 끝난
내가 말했듯이, 나는 이것이 과정이라고 생각하지만 100 % 확신 할 수는 없습니다. 이것은 내 질문의 핵심으로 이끌어줍니다. 이 정보를 어떻게 또는 어디서 찾을 수 있습니까?
HTTP 서버 만 작성하고 싶지 않으면 FTP 서버, 채팅 서버, 이미지 뷰어 등을 작성하려면 어떻게해야합니까? 작동하는 HTTP 서버를 작성하는 데 필요한 정확한 단계 / 프로세스를 어떻게 알 수 있습니까?
동료가 html 헤더에 대해 말해 주었으므로 결코 그를 알지 못했을 것입니다. 또한 각 요청을 새 스레드로 전달하는 것에 대해 언급했습니다. 작동 방식에 대한 큰 책이 있습니까? HTTP 서버가되기위한 매뉴얼이 있습니까?
"HTTP 서버는 어떻게 작동합니까?"인터넷 검색을 시도했지만 찾을 수있는 유일한 답변은 HTTP 서버를 프로그래밍하려는 사람이 아니라 평균적인 Joe를위한 것입니다.