본문 바로가기
728x90

넓고 얕은 웹 지식15

프록시 서버(Proxy Server) 요약 정리 프록시 서버(Proxy Server) 클라이언트가 서버와 소통할 때 서버에 바로 접근하는 것이 아니라 일종의 대리 서버를 두어 서버에 접근할 수 있도록 도와주는 서버이다. 보통 접근이 제한된 서버를 이용하기 위한 우회나 캐시 서버로 활용하는 데에 사용한다. 프록시 서버의 종류 Forward Proxy 클라이언트와 가까이에 위치한 프록시 서버를 말한다. 클라이언트를 대신해 서버에 요청을 전달한다. 주로 캐싱을 제공하여 보다 빠른 서비스를 이용할 수 있도록 도와주는 역할에 이용된다. 클라이언트에서 프록시 서버를 거친 후에 서버에 요청이 도착하므로 서버에서 클라이언트의 IP 추적을 하게 될 때 클라이언트의 IP가 아닌 프록시 서버의 IP가 전달되어 클라이언트를 서버로부터 숨길 수 있는 보안 역할도 할 수 있다.. 2023. 5. 12.
스레드 & 스레드 풀 1분 요약 정리 📌 프로세스란? 실행 중인 프로그램으로 프로세스는 데이터와 메모리 등의 자원, 스레드로 구성된다. 📌 스레드란? 프로세스 내에서 실제 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 가지 이상의 스레드가 존재한다. 두 개 이상의 스레드를 가지는 프로세스를 멀티 스레드 프로세스라고 한다. 동시 처리가 필요하면 스레드를 추가로 생성할 수 있다. 사실 매우 빠르게 번갈아 가며 실행하는 것이다. 💡 요청마다 스레드를 생성 시 장단점 장점 동시 요청을 처리할 수 있다. 리소스(CPU, 메모리)가 허용할 때까지 처리가 가능하다. 하나의 스레드가 지연되어도 나머지 스레드는 정상작동한다. 여러 스레드가 서로 관계가 없기 때문이다. 단점 스레드는 생성 비용이 매우 비싸다. 고객 요청이 올 때마다 생성하면 응답속도.. 2023. 2. 5.
서블릿(Servlet) 1분 요약 정리 📌 서블릿(Servlet) 서블릿이란 동적인 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 웹 요청과 응답의 흐름을 체계적이면서 쉽게 다룰 수 있게 해 준다. 클라이언트의 요청에 대한 결과(응답)를 전송하는 역할을 한다. 개발자는 서블릿의 도움을 받아 HTTP 스펙을 매우 편리하게 사용할 수 있다. 서블릿 컨테이너(Servlet Container) 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 한다. 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기를 관리한다. 서블릿 객체를 싱글톤으로 관리한다. 고객의 요청이 올 때마다 계속 객체를 생성하는 것은 비효율적임 최초 로딩 시점에 서블릿 객체를 미리 만들어두고 재활용함 해당하는 모든 고객의 요.. 2023. 2. 5.
웹 서버와 웹 애플리케이션 서버(WAS) 1분 요약 📌 웹 서버와 정적 페이지 정적 페이지(Static Pages) 저장된 콘텐츠 그대로 사용자에게 전달하는 웹 페이지이다. image, html, css, javaScript 파일 등이 있다. 웹서버(Web Server) 하드웨어에서 웹 서버는 웹 서버가 설치되어 있는 컴퓨터를 의미한다. 소프트웨어에서 웹 서버는 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 콘텐츠를 제공하는 프로그램을 의미한다. 기능 클라이언트의 요청을 받아 정적인 콘텐츠를 제공한다. 이때 WAS를 거치지 않고 자원을 제공한다. 동적인 콘텐츠 제공을 위해 WAS에 요청을 전달하고, WAS가 처리한 응답을 클라이언트에 전달한다. 여기서 클라이언트는 일반적으로 웹 브라우저를 의미한다. ex) : Apache Server, Ngin.. 2023. 2. 5.
JWT(Json Web Token) JWT(Json Web Token) 데이터를 안전하고 간결하게 전송하기 위해 고안된 인터넷 표준 인증 방식으로 토큰 인증 방식에서 가장 범용적으로 사용된다. JSON 포맷의 토큰 정보를 인코딩 하여 그 정보를 Secret Key로 서명한 메시지를 Web Token으로써 인증 과정에 사용한다. JWT의 종류 Access Token 보호된 정보들에 접근할 수 있는 권한 부여에 사용 비교적 짧은 유효 기간으로 탈취되더라도 오래 사용할 수 없게 한다. Refresh Token Access Token이 만료되었을 때 새로운 Access Token을 발급받을 수 있다. 유효 기간이 길기 때문에 탈취당하면 큰 피해를 입을 수 있다. 그래서 사용하지 않는 곳이 많다. JWT의 구조 Header.Payload.Signa.. 2022. 11. 22.
세션 기반 자격 증명 방식과 토큰 기반 자격 증명 방식 세션 기반 자격 증명 방식 HTTP 프로토콜은 request 전송 후 response를 수신하게 되면 연결을 끊는 비연결성(Connectionless)의 특성과 request, response 상태를 저장하지 않는 비상태성(Stateless)의 특성을 가지고 있기 때문에 사용자 인증을 성공했을 때 인증된 사용자의 request 상태를 유지하기 위해 세션을 이용한다. 서버 측에 인증된 사용자의 정보를 세션 형태로 저장한다.(서버 측 세션 저장소에서 관리) 사용자의 고유 ID인 세션 ID는 클라이언트의 쿠키에 저장되어 증명 수단으로 사용된다. 세션 ID만 클라이언트 쪽에서 사용하기 때문에 토큰 방식에 비해 상대적으로 적은 네트워크 트래픽을 사용한다. 서버에서 세션 정보를 관리하므로 보안성이 유리하다. 서버 .. 2022. 11. 22.
CSR, SSR CSR(Client Side Rendering) HTML 결과를 자바스크립트를 사용해 웹 브라우저에서 동적으로 생성해서 적용 주로 동적인 화면에 사용, 웹 환경에서 필요한 부분을 변경할 수 있음 예) 구글지도 등 관련기술 ; React, Vuejs -> 웹 프론트엔드 개발자 SSR(Server Side Rendring) HTML 최종 결과를 서버에서 만들어서 웹 브라우저에 전달 주로 정적인 화면에 사용 관련 기술 : JSP, 타임리프 -> 백엔드 개발자 자바 뷰 템플릿 역사 HTML을 편리하게 생성하는 뷰 기능 JSP 속조 느림, 기능 부족 프리마커, 벨로시티 속도 문제 해결, 다양한 기능 타임리프 내추럴 탬플릿(HTML의 모양을 유지하면서 뷰 템플릿 적용 가능), 스프링 MVC와 강력한 기능 통합 참고.. 2022. 10. 30.
728x90