WEB
RESTful API란?
2025.05.27
HTTP 프로토콜을 기반으로, 자원(Resource)에 대한 행위(Verb)를 명확하게 표현하고, 일관된 구조로 데이터를 주고받는 API ✅ 주요 개념 정리요소설명자원(Resource)서버의 데이터 (ex. 사용자, 게시글, 상품 등) → URI로 표현행위(Verb)자원에 대한 작업 → HTTP 메서드 사용 (GET, POST, PUT, DELETE 등)표현(Representation)클라이언트와 서버가 주고받는 자원의 형태 (보통 JSON 형식)✅ HTTP 메서드와 자원 조작 HTTP 메서드 의미 예시 URI설명 GET조회/users/1ID가 1인 사용자 조회POST생성/users새 사용자 생성PUT수정 (전체)/users/1ID가 1인 사용자 전체 수정PATCH수정 (부분)/users/1ID가 ..
WEB
@RestController 와 @Controller 차이
2025.05.27
✅ 차이 요약 항목 @Controller @RestController역할뷰(View)를 반환하는 웹 컨트롤러JSON, XML 등 데이터를 반환하는 API 컨트롤러기본 반환 방식문자열 반환 시 → ViewResolver가 뷰 이름으로 처리문자열 반환 시 → 그대로 HTTP Response Body에 반환됨@ResponseBody 필요 여부필요함 (데이터 반환하려면 @ResponseBody 명시해야 함)자동 포함되어 있음 (항상 데이터 반환)사용 용도웹 페이지 렌더링 (JSP, Thymeleaf 등)REST API 개발 (React, Vue 같은 프론트엔드와 연동 시)✅ 코드 예시1. @Controller 사용 예 (뷰 반환)@Controllerpublic class PageController { @..
WEB
서블릿 필터(Filter) / 스프링 인터셉터(Interceptor) 비교
2025.05.27
1. 서블릿 필터 (Servlet Filter)📌 개요Servlet 스펙에 정의된 기능DispatcherServlet 이전에 동작서블릿 컨테이너 레벨에서 동작 (Tomcat 등)🔧 특징HTTP 요청/응답 전체를 필터링할 수 있음스프링이 아닌 일반 자바 웹 애플리케이션에서도 사용 가능필터 체인(FilterChain)을 통해 다음 필터 혹은 서블릿으로 전달예시@WebFilter(urlPatterns = "/*")public class MyFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, Serv..
WEB
Http 동작 방식
2025.05.27
HTTP 동작 방식 사용자가 웹 브라우저에 URL 입력브라우저가 DNS를 통해 도메인 이름을 IP 주소로 변환TCP 연결을 통해 HTTP 요청 전송서버가 요청을 처리하고 HTTP 응답 반환브라우저가 응답을 렌더링1. 클라이언트(브라우저)가 URL 입력예 : https://www.example.com/index.htmlhttps: 프로토콜 (HTTP or HTTPS)www.example.com: 호스트명 (도메인)/index.html: 요청 리소스 경로2. DNS 조회브라우저는 도메인(www.example.com)을 IP 주소로 변환하기 위해 DNS 서버에 질의응답으로 서버의 IP 주소를 받습니다. (예: 93.184.216.34)3. TCP 연결 (3-way Handshake)클라이언트와 서버 간에 TC..
WEB
SOP
2025.02.18
Same-Origin Policy (SOP, 동일 출처 정책)**Same-Origin Policy(SOP, 동일 출처 정책)**는 웹 보안 모델 중 하나로, 다른 출처(origin)에서 온 웹 페이지 간의 자원 공유를 제한하는 보안 정책1. 동일 출처(Origin)의 기준출처(Origin)는 프로토콜, 도메인, 포트 3가지 요소로 결정됩니다.다음 요소 중 하나라도 다르면 다른 출처로 간주됩니다.출처 구성 요소:예제:URL출처(Origin)https://example.com:443https://example.com:443http://example.com:80http://example.com:80 (다른 프로토콜)https://sub.example.com:443https://sub.example.com:44..