tmux는 사용자가 단일 단말기 창 또는 원격 터미널 세션 안에서 여러 별도의 터미널 세션에 액세스할 수 있도록 여러 가상 콘솔을 다중화하는데 사용할 수 있는 응용 소프트웨어이다.
클라이언트와 서버는 연결(connection)을 통해서 통신이 가능해진다. 소켓(socket)은 연결의 종단점이자 네트워크 상의 다른 프로세스와 통신하기 위해 사용되는 파일이다. 여기서는 일단 연결의 종단점 역할을 한다는 것만 기억해두자
리눅스는 getaddrinfo와 getnameinfo라고 하는 강력한 함수들을 제공하는데 이들은 이진 소켓 주소 구조체들과 호스트 주소, 포트번호 사이의 변환을 가능하게 해준다.
소켓 인터페이스스와 getaddrinfo 함수를 처음 배웠을 때 바로 사용하기란 쉽지 않을 것이다.그래서 이번에는 한번에 클라이언트의 clientfd, 서버의 listenfd를 생성해주는 함수를 만들어 사용해보자.
지금까지 공부한 내용으로 아주 작지만 기본 기능을 갖고 있는 웹 서버를 만들어보자.웹에 기초적인 내용이나 웹에서 컨텐츠를 제공하는 방법에 대해서는 코드를 살펴보며 간단하게 설명하도록 하겠다.
말 그대로 uri를 나누는 함수이다. uri를 도메인, path, cgiargs으로 나눈다.cgiargs란 동적 컨텐츠의 실행파일에 들어갈 인자다.