공부하는 안경딸기

5. HTTP 요청 데이터 본문

네트워크

5. HTTP 요청 데이터

안경딸기 2021. 8. 9. 23:18

이 글은 아래 강의를 공부하고 작성한 글입니다.
강의로 이동


HTTP 요청 메시지를 통해 client -> server 데이터 전달하는 방법 공부
주로 3가지 방법을 사용

  1. GET - 쿼리 파라미터
  2. POST - HTML Form
  3. 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