2015년 1월 20일 화요일

TCP/IP 소켓 프로그래밍 24강

24강은 지금까지 배운 것을 토대로 HTTP 서버를 제작하는 강이다.
그야말로 마무으리!!

24-1: HTTP(Hypertext Transfer Protocol)의 개요

-웹(Web) 서버의 이해-

"HTTP을 기반으로 웹페이지에 해당하는 파일을 클라이언트에게 전송하는 역할의 서버"

-HTTP-

1. 클라이언트가 서버에 데이터 요청
2. 서버가 데이터 응답
3. 서버가 연결 종료

HTTP는 클라이언트의 상태정보를 유지하지 않는다.
그래서 HTTP를 상태가 존재하지 않는  Stateless 프로토콜이라 한다.

-요청 메세지(Request Message)의 구성-

요청라인, 메시지 헤더, 공백라인, 메시지 몸체로 구성되어 있다.

요청라인 - 요청방식에 대한 정보가 삽입(GET/POST)
메시지 헤더 - 요청에 사용된(응답 받을) 브라우저 정보, 사용자 인증 정보 등
공백라인 - 몸체와 메시지의 헤더 사이를 구분하기 위해 삽입
메시지 몸체 - 클라이언트가 웹서버에게 전송할 데이터(POST 방식에서만 삽입)

-응답 메세지(Response Message)의 구성-

상태 라인, 메시지 헤더, 공백라인, 메시지 몸체로 구성되어 있다.

상태라인 - 클라이언트의 요청에 대한 결과 정보
메시지 헤더 - 전송되는 데이터의 타입 및 길이정보 등
공백라인 - 몸체와 메시지 헤더 사이를 구분하기 위해 삽입
메시지 몸체 - 클라이언트가 요청한 파일의 데이터

24-2: 매우 간단한 웹 서버의 구현

이 부분은 그냥 예제다. 직접 해보는 것이 가장 좋다 ㅎㅎ;
역시 소스 코드를 다운 받아 해보자.
소스 코드 다운 받기

휴~~ 이로써 TCP/IP 소켓 프로그래밍이 끝났다.
얇은 책(551페이지)이라 금방 끝날줄 알았는데....
역시 처음해보는 분야는 습득 시간이 긴거 같다.
24강이면 하루에 1강씩 해서 한달이면 끝날줄 알았는데 ㅎㅎ;;
다음에는 네트워크 프로그래밍 관련해서 몇 가지 도서 추천을 할려고 한다.
(윤성우 열혈 TCP/IP 소켓 프로그래밍 마지막 강에서도 도서 추천을 한다)

막연했던 소켓 프로그래밍의 맛보기라도 하게 해준 이 책에게 감사하다.
소켓 프로그래밍은 학교에서도 수강을 안했었기에 전혀 개념이 없었다
(수강 신청할 껄 ㅡㅜ)
소켓 프로그래밍을 처음 공부하는 분들은

윤성우 열혈 TCP/IP 소켓 프로그래밍 책을 적극 추천한다.
책 사러 가기

그럼 이만~

댓글 없음:

댓글 쓰기