HTTP 요청 데이터는 주로 다음과 같은 3가지 방법을 사용한다
1. GET - 쿼리 파라미터
다음과 같이 URL에서 쿼리 스트링 형식으로 전달한다.
http://localhost:8080/request-param?username=hello&age=20
- 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달
- 예) 검색, 필터, 페이징등에서 많이 사용하는 방식
2. POST - HTML Form
HTML Form 형식으로 요청 헤더를 보면 아래와 같은 형식을 확인할 수 있다.
content-type: application/x-www-form-urlencoded
- 메시지 바디에 쿼리 파라미터 형식으로 전달
- message body:
username=hello&age=20 - 예) 회원 가입, 상품 주문, HTML Form 사용
- 이 방식으로 데이터 전달 시 HTTP 메시지 바디에 해당 데이터를 포함해서 보내기 때문에
바디에 포함된 데이터가 어떤 형식인지 content-type을 꼭 지정해야 한다.
3. HTTP message body
JSON 방식으로 보내면 아래와 같은 형식을 확인할 수 있다.
content-type: application/json
- 말 그대로 메시지 바디에 데이터를 담아 보낸다.
- message body:
{
"username": "hello",
"age": 20
} - HTTP API에서 주로 사용하는 방식으로 JSON, XML, TEXT이 있다.
- POST, PUT, PATCH
이러한 JSON 데이터를 파싱, 처리해주는 라이브러리 (스프링의 경우 Jackson) 을 사용해서
역직렬화 하여 자바 객체로 변환할 수도 있다.
요약
- 쿼리 파라미터 : 메시지 바디x, URL 에 쿼리 파라미터 형식
- HTML Form : 메시지 바디에 쿼리 파라미터 형식
key1=value1&key2=value2&... 형식 - HTTP message body : 메시지 바디에 데이터를 담음, 주로 JSON
'네트워크' 카테고리의 다른 글
[네트워크] JWT 란 (2) | 2023.10.04 |
---|---|
x-www-form-urlencoded와 json (0) | 2023.09.21 |
웹 서버(WS)와 WAS 및 분리 이유 (0) | 2023.04.03 |
[네트워크] REST API 란? (0) | 2023.03.27 |
[네트워크] API 란? (0) | 2023.03.27 |