웹브라우저에서 우리 서버에 접속하면 다음과 같은 HTML을 응답하게 하도록 만들어보자
<h1>Hello World</h1>
HTTP Server V1
- v1 코드 링크
- ServerSocket을 이용하여 HTML 을 내려주는 코드를 작성
- 잘 내려가는데 문제는 이렇게 코드를 작성하면 스레드 하나만을 이용하여 요청을 순차적으로 밖에 처리를 못한다. → 클라이언트 요청에 대한 응답이 느려짐
HTTP Sever V2
HTTP Sever V3
- v3 코드 링크
- 이제 HTTP 서버 작동 원리를 이해했으니 경로별로 다른 응답을 주는 기능을 만들어보자.
URL 인코딩
- HTTP 메시지에서 시작 라인과 HTTP 헤더의 이름은 항상 ASCII를 사용해야 한다.
- HTTP 메시지 바디는 UTF-8 과 같은 다른 인코딩을 사용할 수 있다.