[Restful API]
- REST(Respresentational State Transfer)란 ?
- HTTP를 기반으로 필요한 자원에 접근하는 방식을 정해놓은 아키텍처
- API(Application Programming Interface)란 ?
- 소프트웨어 애플리케이션들이 서로 상호 작용하고 통신할 수 있도록 정의된 규칙과 프로토콜의 집합
RESTful API 란 ? : REST API를 제공하는 웹 서비스를 RESTful 하다고 할 수 있다.
-
REST 중심규칙 : HTTP URI를 통해 자원(Resource)을 명시하고,
HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해
해당 자원(URI)에 대한 행위를 정의하는것이 REST한 API를 설계하는 중심 규칙입니다.
-
REST 구성요소 : 자원 + 메서드(HTTP) + 메시지(HTTP header, body, 응답 상태 코드)
-
특징
- server, client 구조
- StateLess(무상태)
- 캐시 처리 가능
- 계층화(API 서버는 순수 비즈니스 로직을 수행하고 그 앞단에 보안, 로드 밸런싱, 사용자 인증 등 다중 계층으로 구성될 수 있다.)
- 인터페이스의 일관성 : 특정 언어나 기술에 종속되지 않음.
[JAVA WEB]
- jsp와 servlet의 차이점은 무엇인가요
- 공통점 : Java 웹 애플리케이션 개발에 사용되는 기술
- 차이점 : JSP - JSP는 Java 코드를 HTML 문서 안에 삽입하여 동적 웹 페이지를 생성하는 데 사용됩니다.
Servlet - Java 클래스로 작성된 웹 애플리케이션의 컨트롤러 역할을 합니다(웹 요청의 로직 처리를 담당).
- 세션과 쿠키의 차이는 무엇인가요?
-
공통점: 웹 애플리케이션에서 사용자의 상태 정보나 설정 등을 저장하고 관리하기 위한 메커니즘
-
차이점
- 쿠키는 사용자의 브라우저, 세션은 서버에 저장
- 쿠키는 브라우저에 저장되어 중간에 데이터가 탈취될 위험이 크다, 세션은 서버에 저장되서 안전하긴 하지만, 세션 ID가 노출되면 위험할 수 있기 때문에, 보안을 강화하기 위해 HTTPS 등의 암호화 방식을 사용하는 것이 좋다
- 주로 쿠키는 사용자의 로그인 상태 유지, 세션은 사용자별 정보 저장 (로그인 정보, 장바구니 정보)에 사용됨.
- 세션 과정을 설명해주세요.
- 클라이언트가 처음으로 요청을 보낸다.
- 서버는 세션 ID를 발급한다.
- 클라이언트에 세션 ID가 저장된 쿠키를 보낸다.
- 이 후 클라이언트가 추가 요청을 보낼 때 (페이지 이동, 데이터 요청 등), 클라이언트는 쿠키를 서버에 같이 보낸다.
- SQL Injection을 피할 수 있는 방법을 설명해주세요.