본문 바로가기
TIL (Today I Learned)/개발일지

[개발일지] WebServer 만들기

by 둥굴프 2022. 12. 14.

Ubuntu 개발환경에서 웹 서버를 만드는 프로젝트를 진행했다.

localhost로 작은 웹 서버를 만들어서 클라이언트의 요청에 응답하는 단순한 서버다.

CS:APP 11장을 따라하며 진행한 프로젝트다.

가이드라인을 따라가면 되기 때문에 큰 어려움은 없었다.

 

 

프로젝트 키워드 🤔
BSD소켓, IP, TCP, HTTP, file descriptor, DNS

 

해당 프로젝트를 진행하기 앞서, 네트워크와 파일입출력에 대한 이론공부를 진행했다

(TIL에 기록하며 학습했다)

 

22.12.08 - 22.12.11

- 네트워크 이론 학습

(라우터, TCP/IP, HTTP 트랜잭션)

 

22.12.12

- 동료 학습

 

22.12.13

- 에코서버 개발 및 작동원리 학습

- tiny.c 개발 및 파일 입출력 학습

 

22.12.14

- addr.html 작성

- 동영상 파일 응답

 

 

 

 

개발을 마치며,

CS:APP 11장 가이드라인을 따라가면 되기 때문에 큰 어려움은 없었다.

하지만 시스템 콜을 잘 몰라서 이해하지 못하는 코드가 많이 있었다.

작동을 마친 후 추가적으로 파일 입출력에 관한 시스템 콜을 학습했다.

추가적으로, 그럼에도 어려웠던 점은 CGI를 활용하기 위해서 자식 프로세스를 만들어서 서버에서 연산을 위한 준비를 해야한다는 생각이었던 것 같다.

아쉬운 점은 프록시 서버 구축하는 과제를 진행하지 못한 것이다.

 

내일(22.12.15)부터는 PintOS 프로젝트를 시작한다.

이를 준비하기 위해서 오늘부터는 시스템 프로그래밍에 대한 학습을 진행해야겠다.

 

추가적으로, 지난 프로젝트에 대한 개발일지는 github readme에 기록했다.

하나로 통일시킨 규격이 필요할 것 같다.

 

한번쯤은 개발일지에 관한 레퍼런스를 조사해야겠다.

github readme 파일도 티스토리에 올리겠다.

 

 

'TIL (Today I Learned) > 개발일지' 카테고리의 다른 글

[개발일지] Malloc Lab  (0) 2022.12.14

댓글