Web12 [Web] DNS(Domain Name System) 인터넷에 연결된 컴퓨터, 서비스, 혹은 다른 자원들의 도메인 이름을 IP 주소로 변환해주는 분산형 계층적 네이밍 시스템이다. 간단히 말해서 DNS는 사람이 읽을 수 있는 웹주소 (문자로 구성되어 있는)를 컴퓨터가 이해할 수 있는 숫자 형태의 IP주소로 바꿔주는 주소록 역할을 한다. 사용자는 이를 통해 복잡한 숫자 대신 기억하기 쉬운 도메인 이름을 사용해 웹사이트나 서비스를 편리하게 접속할 수 있다. DNS 관리 업체를 통해 설정할 수 있다. 필요성사용자 편의성IP주소는 숫자 조합이라 기억하기 어렵지만 도메인은 사람들에게 직관적이고 기억하기 쉽다. 유연한 인프라 관리서버 IP 주소가 바뀌어도 사용자들은 같은 도메인 이름을 통해 접근이 가능하다. DNS 레코드만 업데이트하면 되기 때문에 인프라 확장이나 이전.. 2024. 12. 7. [Web] CORS(Cross-Origin Resource Sharing) 웹 브라우저가 다른 도메인, 포트, 혹은 프로토콜에 존재하는 리소스에 접근할 수 있도록 허용하는 HTTP 헤더 기반 보안 메커니즘이다. 기본적으로 웹 브라우저는 보안 상의 이유로 **동일 출처 정책 (Same-Origin Policy)**을 따르는데 웹 페이지가 로드된 도메인과 다른 도메인에 있는 자원에 직접적으로 접근하는 것을 제어한다 CORS는 이런 제한을 완화하는 표준 방식이다. 동일 출처 정책(Same-Origin Policy)브라우저는 스크립트가 로드된 출처와 동일한 프로토콜, 도메인, 포트를 가진 자원에만 무제한적으로 접근하도록 하는 보안 정책이다출처는 프로토콜(http , https), 도메인(testdomain.com), 포트(:8080)로 구성된다ex : http://testdomain... 2024. 12. 7. [Web] CSRF & XSS XSS가 사용자가 특정 사이트를 신뢰하기 때문에 발생하는 문제라면 CSRF는 특정 사이트가 사용자를 신뢰하기 때문에 발생하는 문제다. XSS : 크로스 사이트 스크립트악의적인 스크립트를 웹 페이지에 삽입하여 사용자의 브라우저에서 실행되도록 하는 공격 웹 애플리케이션이 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 발생하며 결과로 사용자는 의도치 않은 동작을 수행하거나 쿠키, 세션 등의 정보를 탈취 당한다 동작 방식공격자가 웹 애플리케이션에 악성 스크립트를 삽입사용자가 해당 웹 페이지를 열면 스크립트가 사용자의 브라우저에서 실행스크립트를 통해 쿠키, 세션, 로컬 데이터 등을 탈취하거나 악성 동작 수행대응 방법입력값 검증 및 필터링사용자 입력값에서 스크립트 관련 문자를 필터링출력 시 이스케이.. 2024. 11. 28. [Web] Authentication & Authorization Authentication (인증)Authorization(인가, 권한부여) ㅇ Authentication (인증)사용자가 누구인지 확인 하는 과정사용자가 주장하는 신원이 실제로 맞는지 검증한다 과정사용자가 제공한 자격 증명(아이디, 비밀번호 등)을 확인한다인증 후 사용자에게 접근 가능한 사용자임을 확인 시킨다. ex : 은행 웹사이트에 로그인할 때 계좌번호와 비밀번호를 입력ㅇ Authorization(인가, 권한부여) 인증된 사용자가 무엇을 할 수 있는지 결정하는 과정시스템 리소스에 접근할 권한이 있는지 확인한다 과정사용자 인증이 완료된 후, 사용자가 수행할 수 있는 작업이나 접근할 수 있는 리소스를 제한한다권한은 역할, 그룹, 정책에 따라 정의된다 ex : 로그인 후 계좌 잔액은 조회할 수 있지만 다.. 2024. 11. 28. [Web] JWT(Json Web Tokken) JWT는 JSON 기반의 사용자 인증 및 정보 교환을 위한 토큰이다Web 표준을 따르고 있으며 JSON 객체를 사용하여 정보를 전달한다 필요한 모든 정보를 한 객체에 댐아서 전달하기 때문에 JWT 한 가지로 인증을 마칠 수 있다. 웹 표준을 따르기 때문에 대부분의 언어가 이를 지원한다. ㅇ JWT의 구조위와 같이 .(dot)을 기준으로 세 개의 영역으로 나눌 수 있다헤더JWT의 타입과 서명 알고리즘을 명시한다페이로드토큰에 담길 클레임(데이터)을 포함한다사용자 정보, 권한, 토큰 만료 시간 등클레임의 유형Registered Claims : 표준으로 정의된 클레임iss(발급자), sub(주제), aud(대상), exp(만료 시간) 등이 포함된다Public Claims : 개발자가 정의한 클레임사용자 이름, .. 2024. 11. 28. [Web] OAuth OAuth는 애플리케이션이 사용자 자격 증명을 노출하지 않고도 다른 애플리케이션이나 서비스의 리소스에 접근할 수 있는 권한을 부혀할 수 있는 권한 부여 프레임워크이다. 이런 매커니즘은 구글, 페이스북, 트위터 등 대형 플랫폼에서 사용하고 있으며 타사 애플리케이션 및 웹 사이트의 계정에 대한 정보를 공유할 수 있도록 허용해준다. ㅇ 구성 요소리소스 소유자리소스의 소유자이며 권한을 위임할 수 있는 사용자ex : 소셜 로그인을 사용하려는 사용자 (나)클라이언트리소스 소유자의 데이터를 사용하려는 애플리케이션클라이언트는 리소스 소유자의 허락을 받아 리소스 서버에 접근한다반드시 인증을 통해 권한을 받아야한다ex : 소셜 로그인을 통해 가입하려는 웹사이트리소스 서버보호된 리소스를 저장하고 관리하는 서버클라이언트는 .. 2024. 11. 28. [Web] Web과 WAS의 차이 Web인터넷 상에서 정보를 공유하고 상호작용하기 위한 환경이다.HTML, CSS, JavaScript 등을 기반으로 클라이언트와 서버 간에 데이터를 주고 받으며 동작한다. 정적 콘텐츠 제공HTML, 이미지, CSS등 정적인 리소스를 제공한다.HTTP 프로토콜 사용클라이언트와 서버 간 통신은 HTTP를 통해 이루어진다.Web 서버는 클라이언트로부터 HTTP 요청을 받아 정적 리소스를 반환하는 역할을 한다.ex : Apache WAS동적인 웹 애플리케이션을 실행하고 클라이언트 요청에 대한 비즈니스 로직을 처리하는 서버다.웹서버는 정적인 콘텐츠를 제공하는데 비해 WAS는 데이터베이스와 상호작용 하거나, 복잡한 비즈니스 로직을 실행하여 동적인 컨텐츠를 생성한다. 특징서블릿, JSP, Spring 등의 실행 환경.. 2024. 11. 27. [Web] REST API REST API란 REST를 기반으로 만들어진 API를 의미한다. REST(Representational State Transfer) API는 웹 서비스 통신을 위한 아키텍처 스타일 중 하나로, 웹 애플리케이션 간의 상호 작용에 사용되는 표준화된 방식이다. 특정한 규칙과 형식을 토대로 HTTP 프로토콜을 활용해 자원을 주고 받는 방식을 의미한다. 서비스에서 다루는 데이터나 기능을 리소스(자원)으로 표현한다. ex /users, /products와 같은 형태의 고유한 URL(엔드포인트)로 접근할 수 있다. URI = 리소스 식별자, URL = 리소스 식별자 + 경로API는 경로만 보고도 어떤 자원에 접근하는지 직관적으로 알 수 있다. 표준화된 응답 형식REST API는 응답을 주로 JSON 또는 XML .. 2024. 11. 27. [Web] HTTP Status Code 클라이언트가 요청을 보냈을 때 서버가 클라이언트에게 응답의 상태를 숫자로 알려주는 코드다. 주로 3자리 숫자로 이루어지며, 각 숫자는 요청 처리 결과에 대한 상태를 나타낸다. 이를통해 요청의 성공이나 추가 작업 필요성을 파악할 수 있다. ㅇ 5가지 주요 클래스1xx : Informational (정보)정보 전달을 의미하며 요청을 게속 진행해도 된다는 응답이다.100 Continue : 클라이언트가 요청을 게속해도됨.101 Switching Protocols : 서버가 프로토콜 전환을 수락2xx : Success (성공)요청이 성공적으로 처리되었음을 나타낸다.200 Ok : 요청이 성공적으로 처리됨201 Created : 요청이 성공적으로 처리되었고, 새로운 리소스가 생성됨202 Accepted : 요청이.. 2024. 11. 27. 이전 1 2 다음