프로그래밍/C

내가 생각한 C언어 웹서버 구현 원리중의 고민

2017. 11. 24. 15:36

 Layer7의 경빈이를 화요일에 만나서 이런저런 얘기를 하다가 다시 웹서버를 개발하겠다는 목표를 세우고 많은 것을 계획 중이다. 


 웹서버의 역할은 크게 3가지로 나눌 수 있을 것 같다. 

  1. Client의 요청을 받고 다시 Client로 HTTP Packet을 보내는 것.

  2. HTTP Protocol에 맞게 Client Requests를 파싱하는 것.

  3. html이든 php든 Client의 요청에 맞게 연결해주는 것.


 일단 첫번째로 언급한 Client요청을 받고 다시 보내는 것은 C언어 TCP/IP 소켓 프로그래밍을 공부하면 충분히 할 수 있다. (참고로, 이 부분은 이미 완성한 상태이다.)


 2번째로 Client request를 HTTP Protocol에 맞게 Parsing하는 것은 그럭저럭 할 수 있을 것 같다. 


 하지만, 3번째는 Parsing한 정보에 맞게 html이든 php든 연결해주는 것이다. HTML같은 정적 파일을 로드하는 거면 fopen()을 이용해서 또 어떻게든 구현할 수 있다. 하지만, 동적파일인 PHP라면? PHP는 php 어플리케이션과 연결해야되는데? 


 어떻게 연결할지 감이 정확히 잡히지가 않는다.


 흠.. 일단 파이썬으로 구현해보고 C언어로 다시 코드를 짜보는 것이 나을 것 같다. 

'프로그래밍 > C' 카테고리의 다른 글

파도파도 끝이 없는 bss에 대하여  (0) 2018.02.14
random number generation without random(), /dev/urandom  (0) 2018.01.13
내가 생각한 C언어 웹서버 구현 원리중의 고민  (0) 2017.11.24
return과 exit()의 차이  (0) 2017.08.28
pcap  (0) 2017.07.13
zlib 분석  (0) 2017.07.08