[Spring 기초] 일정 관리 앱 만들기
·
Backend/Spring
이번 프로젝트를 하기 전에, JDBC에 대해 알아보았고, JDBC Template 을 도입하여 프로젝트를 구현했으며 DB 관련 로직을 처리해야 하는 코드가 많았기 때문에 인터페이스와 구현체를 통해서 전반적인 과제를 진행하였다. JDBC → JDBC Template → 인터페이스와 구현체에 대해서 차례로 알아보았다.🗒️JDBCJDBC(Java Database Connectivity)는 Java에서 데이터베이스(DB)에 접속하고, SQL을 실행하고, 결과를 받아오는 표준 API이다.✅ JDBC의 구조드라이버 로드DB 연결 (Connection)SQL 작성 및 실행 (Statement or PreparedStatement)결과 조회 (ResultSet)자원 해제 (close)✅ JDBC의 단점반복되는 코드가..
JWT 토큰 인증 이란?
·
Backend/Spring
인증(Authentication)과 인가(Authorization)✅ 인증 (Authentication)사용자의 신원을 확인하는 작업이다.✅ 인가(Authorization)인증된 사용자가 특정 리소스에 대한 접근 권한을 가지고 있는지 확인하는 과정으로 “어서와 ~” 로 기억해보자 !JWT의 경우, 사용자의 신원을 나타내는 정보를 안전하게 클라이언트와 서버 간에 주고받기 위한 방식으로 설계되었으므로 “인증”의 개념과 더 밀접하게 연관이 있다.JWT (Json Web Token) 이란 ?JWT(JSON Web Token)란 인증에 필요한 정보들을 암호화시킨 JSON 토큰을 의미한다. 그리고 JWT 기반 인증은 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다J..
쿠키 세션 토큰 비교하기
·
Backend/Spring
쿠키(Cookie), 세션(Session), 토큰(Token)의 등장배경다음 3가지는 모두 웹 환경에서 상태 관리와 인증을 위해 등장한 기술이다. 우선 HTTP는 본질적으로 Stateless(상태가 없는) 프로토콜이다. 이는 서버가 각 요청을 독립적으로 취급하기 때문에 클라이언트 상태를 기억할 수 없다는 의미다. 따라서 상태 유지를 위해 클라이언트 측에 상태 정보를 저장할 수단이 필요했기 때문에 차례로 쿠키, 세션, 토큰이 등장했다.쿠키 (Cookie)브라우저(클라이언트)에 데이터를 저장하여 상태를 유지하는 방식 쿠키는 Key-Value 형식의 문자열 덩어리다. 클라이언트가 어떠한 웹 사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버를 통해 클라이언트의 브라우저에 설치되는 작은 기록 정보 파일이다...
MVC 패턴의 발전과정
·
Backend/Web
MVC 패턴의 등장배경Servlet이나 JSP만으로 비지니스 로직과 View Rendering 까지 모두 처리하면 너무 많은 역할을 하게 되고 유지보수가 굉장히 어려워져서(책임이 너무 많음) MVC 패턴이 등장했다. Servlet, JSP 구조Servlet, JSP 방식의 문제점Servlet만을 사용한 경우 View를 위한 코드와 비지니스 로직을 처리하는 코드가 Servlet에 모두 존재하여 유지보수가 어려워진다.JSP를 사용하여 View를 분리하였지만 비지니스 로직의 일부가 JSP 파일안에 존재한다. 여전히 책임이 많아 유지보수가 어렵다.템플릿 엔진(Template Engine)MVC 패턴에서 템플릿 엔진(Template Engine)이 등장한 이유는 View와 비즈니스 로직의 역할을 명확히 구분하여 ..
Web Application 및 Servlet
·
Backend/Web
웹 서버(Web Server)웹 서버는 주로 정적인 콘텐츠(Static Content) 제공과 간단한 HTTP 요청 처리를 담당한다. 주로 Apache HTTP Server, Nginx, IIS (Microsoft)와 같은 서버들이 웹 서버 역할을 수행한다.웹 서버 (Web Server) 의 주요 역할✅ 정적 콘텐츠(Static Content) 제공정적 콘텐츠라는 리소스가 이미 완성된 채로 서버에 존재하여 원본 그대로 응답하는 데이터를 의미한다.HTML, CSS, JavaScript, 이미지, 비디오 등의 리소스를 그대로 제공HTML 페이지 요청 (ex. index.html, about.html)정적인 이미지 파일 제공(.jpg, .png)스타일시트(.css), 자바스크립트(.js) 파일 제공✅ HTTP..
HTTP의 모든 것
·
CS
HTTP(HyperText Transfer Protocol)TEXT, IMAGE, FILE, HTML, JSON 등 다양한 형태의 데이터가 HTTP를 통해 전송된다.HTTP에도 버전이 존재하며 그중 대부분 HTTP/1.1 (TCP)을 사용한다. 현대에는 HTTP/2, HTTP/3 (UDP)의 사용량이 급속도로 증가하는 추세이다. HTTP 동작 순서HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다.HTTP 특징1️⃣ 클라이언트와 서버 구조클라이언트는 UI(User Inte..