서블릿 - 프로젝트 생성
HttpServletRequest - 기본 사용법
헤더 정보를 편리하게 제공하는것들
HTTP 요청 데이터 - 개요
1 .GET - 쿼리 파라미터
2 .POST - HTML Form
3.HTTP message body에 데이터를 직접 담아서 요청
**주로 JSON형태로 사용한다. 과거에는 XML을 많이 사용했는데 JSON이 등장하면서 복잡하고 번거로운 XML보다 심플하고 직관적인 JSON을 많이사용한다. 사실상 표준이 JSON으로 이야기 되고 있다.
GET 방식의 쿼리파라미터와 form url encoded 방식은 사실 모양이 똑같다.그래서 서버에서 읽을 때는 request.getparameter라고 해서 이 두가지를 다 읽을수 있다! 그걸 요청 파라미터 라고 퉁쳐서 두가지 어떤 방식으로 읽을수 있도록 요청 파라미터를 읽는다 라고 보통 이야기한다.

HTML 폼 데이터를 보낼때는 POST말고 다른건 사용이 불가능한가?
그렇다. HTML 스펙상 폼 데이터를 바디로 전송할때는 POST방식만 허용이 된다.
스프링에서는 되는데?라는 말은 스프링은 사실 포스터로 전송을 하는데 그 밑에 인풋에 히든필드를 넣어놓는다.그래서 만약 PUSH 라고 하면 서버에서 마치 PUSH인것 처럼 처리를 해주기도 한다.하지만 진짜 그렇게 되는것이 아니라 실제로는 포스트로 전송이 된다.
히든 필드에 그런 정보를 넣어놓고 프레임워크가 그냥 그렇게 인정을 해주고 히든필드와 관련된 컨트롤러가 호출되도록 해주기도 한다.
HTTP 응답 데이터 - 단순 텍스트, HTML, API JSON
//[status-line] 상태코드 지정
response.setStatus(HttpServletResponse.SC_OK); //200
//[response-headers] 헤더값지정
response.setHeader("Content-Type", "text/plain;charset=utf-8");
response.setHeader("Cache-Control", "no-cache, no-store, mustrevalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("my-header","hello");
/[Header 편의 메서드] 지능기원
content(response);
cookie(response);
redirect(response);