Header
General Header
- 요청 및 응답 모두에 적용되지만 최종적으로는 Body에 전송되는 것과는 관련이 없는 헤더
Request Header
- 패치 될 리소스나 클라이언트 자체에 대한 상세 정보를 포함하는 헤더
Response Header
- 위치나 서버 자체와 같은 응답에 대한 부가적인 정보를 갖는 헤더
Entity Header
- 컨텐츠 길이나 MIME 타입과 같은 엔티티 바디에 대한 상세 정보를 포함하는 헤더
- 요청 및 응답 모두 사용되며 메시지 바디의 컨텐츠를 나타내기에 GET요청은 해당X
- Content-Length, Content-Type, Content-Language, Content-Encoding
< 헤더 리스트 출력 >
Enumeration<String> headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
System.out.println(headerNames.nextElement());
}

Response
서블릿이 하는 역할 3가지(컨트롤러 개념)
- 요청 받기
- HTTP method GET/POST 요청에 따른 parameter로 전달 받은 데이터를 꺼낼 수 있다.
- 비지니스 로직 처리
- DB접속과 CRUD에 대한 로직 처리 -> 서비스를 호출(MVC)
- 응답하기
- 문자열로 동적인웹(HTML 페이지)페이지를 만들어서 스트림을 이용하여 내보내기