Spring/스프링 MVC 1편 | 김영한
HttpServletRequest 개요
다오__
2024. 9. 26. 15:34
HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다.
개발자는 요청 관련 정보에 접근하려면 HttpServletRequest 객체만을 사용하면 되기 때문에 편리하다.
HTTP 요청 메시지
POST /save HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
username=kim&age=20
POST : HTTP 통신에는 여러가지 요청 유형이 있다. 그 중 하나를 의미하는 메서드이다.
URL : /save 는 요청 url로써, 유저가 해당 url로 접근하면 해당 요청을 보낸다는 의미로 해석된다.
쿼리스트링 : username=kim&age=20 같이 특정 조건이나 데이터를 문자열 형식으로 url에 포함시켜 입력하는 것을 의미한다.
바디
- form 파라미터 형식 조회
- message body 데이터 직접 조회
HttpServletRequest 객체는 추가로 여러가지 부가기능도 함께 제공한다.
'임시 저장소 기능'
- 해당 HTTP 요청이 시작부터 끝날 때 까지 유지되는 생명주기를 가지는 임시 저장소 기능, 자주사용한다.
- 저장 : reuqest.setAttribute(name, value)
- 조회 : request.getAttribute(name)
'세션 관리 기능'
- request.getSession(create: true)
'중요'
HttpServletRequest, HttpServletResponse 는 요청 메시지 응답 메시지를 편리하게 사용하도록 도와주는 기능이기 때문에 깊이있는 활용을 위해서는 HTTP스팩 표준에 맞는 요청과 응답을 만들어낼 수 있는 이해가 필요하다.