본문 바로가기

http5

SpringMVC(3) : 서블릿 요청에 대한 응답 이 게시글에서는 사용자의 요청을 듣고, 서버가 응답해주는 방법을 정리한다. 사용자의 응답 역시 HTTP 메시지 형식인데, 이를 손쉽게 만드는 방법에 대한 내용이다. HTTP 메시지 header 만들기 @WebServlet(name = "responseHeaderServlet", urlPatterns = "/response-header") public class ResponseHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //[status-line] respo.. 2023. 12. 11.
SpringMVC(2) : 서블릿 요청 처리 서블릿은 HTTP 통신을 더 쉽게 사용하기 위해 만들어진 자바 기능이다. 따라서 이를 이용한 HttpServletRequest 와 HttpServletResponse 역시 정보를 더 쉽게 추출해내거나 삽입하는 기능을 가지고 있다. 이 게시글에서는 HttpServletRequest 를 이용해 HTTP 요청 메시지의 내용을 꺼내는 다양한 방법과 HttpServletResponse를 이용해 다양한 방식으로 응답을 보내고 쿠키 등의 부가 설정을 하는 방법을 살펴볼 것이다. HTTP 메시지의 구조 HTTP통신을 다루는 기술인만큼 HTTP 통신의 기본 규약을 알아야할 필요가 있다. 이 게시글에서는 오직 http 메시지의 구조만 잠깐 흩고 지나갈것이다. http 통신에 대한 더 깊은 이해를 바라면 이전 게시글을 참조.. 2023. 12. 8.
HTTP 상태 코드 상태코드는 1XX번대, 2XX번대, 3XX번대, 4XX번대, 5XX번대로 나눠져 있다. 이중 100번대 코드는 정상작동중임을 알리는 코드이며 거의 사용하지 않는다. 주요 상태 코드는 아래오 같다. - 200번대 (정상) 그룹 코드 상수 설명 성공 응답 200 OK 요청이 정상적으로 완료됨 201 Created 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성됨. 응답 HTTP메시지에 location: {리소스 생성 위치} 를 헤더에 추가한다. 202 Accepted 요청을 정상적으로 수신했으나 당장 실행할수 없음. 예) 접수 뒤 한시간뒤 프로세스가 실행되도록 설계됨 204 No Content 요청을 성공적으로 수행했으나, 응답 페이로드에 담을 데이터가 없음 -300번대 (리다이렉션 - 요청을 완료하기.. 2023. 9. 6.
HTTP 메서드 HTTP API의 종류 URI에서 중요한 것은 리소스이며, 행위(작업)는 method 로 따로 기입한다. 리소스란 조회, 수정, 삭제 등의 행위가 아닌, 그 작업의 대상이 되는 것을 말한다. GET : 리소스를 조회할때 사용 POST : 요청 데이터를 서버에서 처리. 주로 새로운 데이터를 등록할때 사용. PUT : 기존 리소스를 대체. 해당 리소스가 없다면 새롭게 생성 PATCH : 리소스 부분 변경. 주로 수정에 사용. DELETE : 리소스 삭제 이외에 기타 메서드로 HEAD, OPTIONS 등이 존재한다. 1. GET 서버에 전달하고 싶은 데이터는 query를 통해 전달한다. 최근 들어 스펙상으로 메시지 바디를 통해 전달할수 있지만, 지원하지 않는 서버가 많기에 권장하지 않는다. 2. POST 요청.. 2023. 9. 5.