공부하는 안경딸기
5. HTTP 요청 데이터 본문
이 글은 아래 강의를 공부하고 작성한 글입니다.
강의로 이동
HTTP 요청 메시지를 통해 client -> server 데이터 전달하는 방법 공부
주로 3가지 방법을 사용
- GET - 쿼리 파라미터
- POST - HTML Form
- HTTP message body에 데이터를 직접 담아서 요청
GET - 쿼리 파라미터
예시
> 검색, 필터, 페이징 등에서 많이 사용
> /url?username=Na&age=2
> > 여기서 전달하는 데이터는
> > > username=Na
> > > age=23
메시지 바디 없이! URL의 쿼리 파라미터에 데이터를 포함해서 전달
쿼리 파라미터는 URL에 ?를 시작으로 보낼 수 있으며, 추가 파라미터는 &로 구분함
HttpServletRequest가 제공하는 다양한 메소드를 통해 쿼리 파라미터 조회 가능
> getParameter( ) 등
POST - HTML Form
예시
> 회원가입, 상품주문, HTML Form 사용
> username=Na&age=2 이런 형식이 메시지 바디에 들어가 있음
content-type: application/x-www-form-urlencoded
메시지 바디에! 쿼리 파라미터 형식으로 전달
application/x-www-form-urlencoded 형식은 쿼리 파라미터 형식과 같으므로 쿼리 파라미터 조회 메소드를 그대로 사용
> getParameter( ) 등
// getParameter( )는 GET URL 쿼리 파라미터 형식도 지원하고 POST HTML Form 형식 둘 다 지원함
content-type은 HTTP 메시지 바디의 데이터 형식을 지정
GET URL 쿼리 파라미터 형식으로 데이터를 client -> server 할 때 HTTP 메시지 바디를 사용하지 않기 때문에 content-type이 없음
POST HTML Form 형식으로 데이터를 전달하면 HTTP 메시지 바디에 해당 데이터를 포함해서 보내기 때문에 바디에 포함된 데이터가 어떤 형식인지 content-type을 꼭 지정해야 함
HTTP message body에 데이터를 직접 담아서 요청
HTTP API에서 주로 사용
데이터 형식은 주로 JSON을 사용함 (JSON 외에도 XML, TEXT 등이 있음)
POST, PUT, PATCH
'네트워크' 카테고리의 다른 글
5. HTTP 메소드 활용 (0) | 2021.08.20 |
---|---|
4. HTTP Method (0) | 2021.06.01 |
3. HTTP (0) | 2021.05.21 |
2. URI와 웹 브라우저 요청 흐름 (0) | 2021.05.18 |
1. 인터넷 네트워크 (0) | 2021.05.16 |
Comments