전체 글 (60) 썸네일형 리스트형 WS(Web Server)와 WAS(Web Application Server) WS(Web Server) 란 웹 서버(Web Server)는 클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받아서 정적인 콘텐츠(HTML 파일, 이미지, CSS, JavaScript 파일 등)를 제공하는 서버 소프트웨어이다. 주로 정적인 웹 페이지를 제공하는 데 사용되며 대표적인 웹 서버로는 Apache HTTP Server, Nginx가 있다. 이러한 웹 서버의 특징은 다음과 같다. HTTP 요청 처리클라이언트로부터의 HTTP 요청을 받아들이고 이에 대한 응답을 반환한다.정적 콘텐츠 제공정적인 파일(HTML, 이미지, CSS, JavaScript 등)을 클라이언트에게 제공한다.리버스 프록시요청을 다른 서버(ex. WAS)로 전달하여 처리 결과를 클라이언트에게 반환할 수 있다.로드 밸런싱여러.. 추상 클래스와 인터페이스 추상 클래스란 추상 클래스는 하나 이상의 추상 메소드를 가지고 있는 클래스를 의미한다. 추상 클래스가 가지고 있는 특징은 다음과 같다. 추상 클래스를 선언할 때는 class 앞에 abstract 키워드를 사용한다. 어떠한 클래스가 추상 클래스를 상속하면 추상 클래스에 선언된 추상 메소드를 반드시 구현해야 한다. 추상 클래스는 new 키워드로 인스턴스를 생성할 수 없다. 상속할 때 extends 키워드를 사용하며 다중 상속이 불가능하다. 추상 클래스는 필드를 가질 수 있다. 이러한 필드는 상속받는 자식 클래스에서 사용할 수 있다. 추상 클래스 사용 예시 public abstract class Authenticator { private String authType; public Authentic.. 인터페이스(Interface) 인터페이스란 자바에서 인터페이스(interface)란 클래스가 구현해야 하는 메소드의 집합을 정의하는 특수한 타입이다. 이러한 인터페이스를 사용하는 이유는 다음과 같다.추상 메소드를 통해 객체들 간의 네이밍을 통일할 수 있고 이로 인해 소스의 가독성과 유지보수가 향상된다. 확장에는 열려 있고 변경에는 닫혀 있는 객체 간 결합도(코드 종속성)를 낮춘 유연한 방식의 개발이 가능하다. 인터페이스는 클래스가 따라야 할 일종의 계약(규약)을 정의한다. 개발자는 인터페이스에 정의된 메소드를 구현한 클래스를 통해 실제 기능을 제공한다. 인터페이스는 메서드 이름, 매개변수 타입, 리턴 타입만 정의하고, 구현은 이를 구현하는 클래스에서 제공한다. 인터페이스를 구현한 클래스는 반드시 인터페이스에서 정의된 모든 메서드를.. 상속(Inheritance) 상속이란 자바에서 상속(Inheritance)은 하나의 클래스가 다른 클래스의 속성과 메소드를 물려받아 재사용하는 방식을 의미한다. 상속 방식은 주로 다단계 상속, 계층적 상속 두 가지 방식을 띄게 되는데 부모 클래스를 통해 자식, 손자까지 내려가는 방식을 다단계 상속이라고 하며 하나의 부모가 여러 개의 자식을 가지는 것을 계층적 상속이라고 한다. 자바에서 다중 상속은 불가능 하다. 자바 클래스가 다중 상속이 불가능한 이유는 다음과 같다.1. A라는 class에 test()라는 메소드가 있음2. B라는 class에 test()라는 메소드가 있음3. C라는 class가 A와 B 클래스를 모두 상속받음4. C에서 부모 클래스의 test() 메소드 호출 - 이러면 어느 부모의 test() 메소드를 호출.. Forward Proxy, Reverse Proxy Proxy 서버 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 Proxy, 그 중계 기능을 하는 것을 Proxy 서버라고 부른다. 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. Proxy 서버 중 일부는 Proxy 서버에 요청된 내용들을 캐시를 이용하여 저장해 둔다. 이러한 Proxy는 크게 Forward Proxy 와 Reverse Proxy 로 나뉜다. Forward Proxy 클라이언트(사용자)가 인터넷에 직접 접근하는 대신, 포워드 프록시 서버가 클라이언트의 요청을 받아 인터넷에 연결하여 결과를 클라이언트에 전달한다. 이러한 포워드 프록시의 장점은 다음과 같다. 캐싱 프.. CSRF(Cross-Site Request Forgery) CSRF 란 사이트 간 요청 위조(Cross-site request forgery, CSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 의미한다. CSRF 공격 시나리오 1. 사용자는 정상적으로 웹 애플리케이션에 로그인 - 로그인 과정에서 서버는 사용자의 세션 정보를 쿠키에 저장 - 이 쿠키는 세션 ID를 포함하고 있으며, 사용자가 로그인 상태를 유지하도록 함 2. 공격자는 사용자를 피싱 이메일이나 메시지를 통해 악성 링크를 클릭하도록 유도 - 피싱 이메일은 긴급한 보안 문제나 계정 확인을 빌미로 사용자를 속임 3. 패스워드 변경 요청 - 사용자가 악성 링크를 클릭하면 브라우저는.. XSS(Cross-Site Scripting) XSS 란 XSS 공격은 웹 서비스에 Javascript 등 스크립트를 실행할 수 있는 코드를 삽입하여 다른 사용자 등에게 공격자가 의도한 스크립트를 실행하게 하는 공격 방법이다. 참고로 Cross-Site Scripting의 약자는 CSS가 맞지만 CSS(Cascading Style Sheets)는 웹사이트에 표현되는 방법을 정해주는 스타일 시트 언어로 사용되기 때문에 XSS로 불리게 되었다. XSS 공격 유형 1. Reflected XSS (반사형 XSS)Reflected XSS는 공격자가 악성 스크립트를 포함한 URL을 만들어서 사용자가 이를 클릭하도록 유도하는 공격 방식이다. 공격자의 악성 스크립트가 데이터베이스와 같은 저장소에 별도로 저장되지 않고 사용자의 브라우저에서 즉시 실행되면서 피해가 .. CORS(Cross Origin Resource Sharing) CORS 란 CORS(Cross Origin Resource Sharing)를 직역하면 “교차 출처 리소스 공유” 정도로 번역될 수 있다. 다시 말해 CORS는 출처가 다른 서버간의 리소스 공유 정책이라고 할 수 있다. 웹 브라우저는 기본적으로 동일 출처 정책(SOP : Same-Origin Policy)을 따르기 때문에 같은 출처에서만 리소스를 공유할 수 있다. Origin(출처) 이란 그럼 CORS에서 말하는 출처는 어떤 것을 의미할까? CORS에서 말하는 출처란 Protocol과 Domain(Host Name), Port로 이 중 하나라도 다르면 CORS 에러가 발생한다. CORS 정책이 등장한 이유 출처가 다른 두 개의 애플리케이션이 마음대로 소통할 수 있는 환경은 매우 위험하기 때문이다.특히 .. 이전 1 2 3 4 5 6 7 8 다음