분류 전체보기

·Spring/MVC1
스프링 MVC 전체 구조직접 만든 MVC 프레임워크와 스프링 MVC를 비교해 보자.직접 만든 MVC 프레임워크 구조SpringMVC 구조여러 개의 핸들러를 스프링 부트가 미리 등록한다.핸들러 어댑터 목록에서 핸들러를 처리할 수 있는 핸들러 어댑터를 조회한다.조회한 핸들러 어댑터를 통해 실제 핸들러를 호출한다.직접 만든 프레임워크 ⇒ 스프링 MVC 비교FrontController ⇒ DispatcherServlethandlerMappingMap ⇒ HandlerMappingMyHandlerAdapter ⇒ HandlerAdapterModelView ⇒ ModelAndViewviewResolver(메서드) ⇒ ViewResolver(인터페이스)MyView ⇒ ViewDispatcherServlet 구조 살펴..
·네트워크/HTTP
상태 코드클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능1xx (Informational): 요청이 수신되어 처리 중거의 사용 안함2xx (Successful): 요청 정상 처리3xx (Redirection): 요청을 완료하려면 추가 행동이 필요HTTP redirect에서 주로 사용4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함만약 모르는 상태 코드가 나타나면?클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면 클라이언트는 상위 상태코드로 해석해서 처리한다.즉 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 된다.예)299 ??? -> 2..
·네트워크/HTTP
클라이언트에서 서버로 데이터 전송데이터 전달 방식은 크게 2가지쿼리 파라미터를 통한 데이터 전송GET주로 정렬 필터(검색어)에 사용메시지 바디를 통한 데이터 전송POST, PUT, PATCH회원 가입, 상품 주문, 리소스 등록, 리소스 변경 등에 사용4가지 상황정적 데이터 조회이미지, 정적 텍스트 문서동적 데이터 조회주로 검색, 게시판 목록에서 정렬 필터(검색어)HTML Form을 통한 데이터 전송회원 가입, 상품 주문, 데이터 변경HTTP API를 통한 데이터 전송회원 가입, 상품 주문, 데이터 변경서버 to 서버, 앱 클라이언트, 웹 클라이언트(Ajax)정적 데이터 조회쿼리 파라미터 미사용정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능이미지, 정적 텍스트 문서조회는 GE..
·네트워크/HTTP
HTTP API URI 설계URI(Uniform Resource Identifier)회원 목록 조회 /read-member-list회원 조회 /read-member-by-id회원 등록 /create-member회원 수정 /update-member회원 삭제 /delete-member위 설계는 좋은 URI 설계일까?가장 중요한 것은 리소스 식별API URI 고민URI(Uniform Resource Identifier)리소스의 의미는 뭘까?회원을 등록하고 수정하고 조회하는게 리소스가 아니다!예) 미네랄을 캐라 -> 미네랄이 리소스회원이라는 개념 자체가 바로 리소스다.리소스를 어떻게 식별하는게 좋을까?회원을 등록하고 수정하고 조회하는 것을 모두 배제회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 URI에..