본문 바로가기

Computer Science/네트워크15

[네트워크] CORS란? (CORS가 필요한 이유, CORS 에러 해결 방법 스프링, CORS 동작 흐름) 목차 CORS란? CORS가 필요한 이유 : SOP CORS 에러 해결 방법 CORS 기본 동작 흐름 CORS 실제 동작 시나리오 Simple Request Preflight Request Credentialed Request 1. CORS(Cross-Origin Resource Sharing)란? CORS는 Cross-Origin Resource Sharing의 약자로, 직역하면 동일 출처 리소스 공유 정책이다. 이것은 서로 다른 출처에 있는 리소스에 접근할 수 있도록 브라우저에게 권한을 알려주는 정책이며, 웹 애플리케이션이 자신의 출처와 다른 리소스를 사용할 때 HTTP Origin 필드에 자신의 출처를 담아 리소스 서버에 요청하는 것이다. 여기서 출처는 URL 경로를 의미한다. URL 경로는 프로토.. 2024. 3. 14.
[네트워크] 토큰과 OAuth란? (OAuth 과정, JWT와 OAuth 비교) 목차 토큰이란? OAuth란? OAuth 과정 JWT와 OAuth 비교 1. 토큰이란? 토큰은 서버와 클라이언트 사이의 상태정보를 저장하기 위해 사용되는 데이터이다. 로그인한 사용자라는 인증 정보와 사용자의 권한 정보를 가지고 있고, 토큰을 이용해 웹사이트를 이용할 수 있다. 토큰을 이용한 로그인 기능을 구현할 때, 엑세스 토큰과 리프래시 토큰을 이용한다. 엑세스 토큰을 가진 사용자는 웹페이지에 접근할 수 있는, 즉 인증된 사용자임을 나타내며 권한 정보를 통해 제한된 웹페이지 접근을 허용한다. 하지만 엑세스 토큰이 탈취된다면 누구든지 웹페이지에 접근할 수 있다. 따라서 엑세스 토큰은 짧은 토큰 유효 시간을 설정하고, 리프래시 토큰을 이용해 새로운 엑세스 토큰을 부여한다. 리프래시 토큰은 서버 측 데이터베.. 2024. 3. 14.
[네트워크] 대칭키와 공개키 암호화 방식과 종류 (SSL이란, 대칭키 공개키 장단점 및 차이, 공개키 암호화만 부인방지 기능을 제공할 수 있는 이유) 목차 SSL (Secure Socket Layer)이란 대칭키 암호화 방식 공개키 암호화 방식 대칭키와 공개키 차이 공개키 암호화만 부인방지 기능을 제공할 수 있는 이유 1. SSL (Secure Socket Layer)이란 SSL은 Secure Socket Layer의 약자로, 네트워크 상에서 데이터에 대한 도청, 간섭, 위조 등을 막기 위해 사용한다. 공인된 제 3자가 보증해주는 SSL 인증서를 이용해 암호화가 이뤄지며, 인증서에는 서버 측 공개키에 관한 정보와 서비스에 관한 정보가 들어있다. SSL을 사용하는 대표적인 프로토콜로 HTTPS가 있다. 클라이언트가 서버에 접속하면 SSL 인증서를 전달하는데, 이 인증서를 통해 클라이언트는 서버가 신뢰할 수 있는 사이트인지를 확인하고, CA의 공개키를 이.. 2024. 3. 7.
[네트워크] DNS란? (도메인과 URL 차이, URL 구성, 도메인 구조와 규칙, DNS 종류, DNS 동작원리, DNS가 분산 데이터베이스 구조를 가지는 이유) 목차 URL이란? URL 구성 DNS란? 도메인 구조와 규칙 DNS 종류 DNS 동작 원리 DNS가 분산 데이터베이스 구조를 가지는 이유 1. URL이란? 검색 창에 google.com을 치는 것과 URL은 다르다. URL은 google.com과 같은 도메인 네임을 포함한 인터넷상에서 자원을 요청하기 위한 규약이다. google.com이라는 도메인 네임은 자원이 어디에 존재하는지 나타내는지를 나타내는 경로이고, 자원을 어떻게 송수신할지에 대한 정보인 프로토콜 등을 포함한 것이 URL이다. 2. URL 구성 Protocol : 자원을 요청해야 하는 프로토콜 Domain name : 자원의 주소 [옵션] Port : 자원에 접근할 수 있는 포트 번호 Path : 자원이 위치하는 경로 Parameters : .. 2024. 2. 19.
[네트워크] 토큰과 토큰 기반 인증이란? (토큰 기반 인증 필요성, 특징과 장단점, 세션과 토큰 인증 방식 차이, JWT 개념과 구조, 엑세스 토큰과 리프레시 토큰) 목차 토큰 기반 인증 필요성 토큰과 토큰 기반 인증이란? 토큰 기반 인증 과정 세션 인증 방식과 토큰 인증 방식 차이 JWT란? JWT 사용 시 주의사항 엑세스 토큰과 리프레 토큰 1. 토큰 기반 인증 필요성 웹에서 쿠키와 세션을 이용해 클라이언트와 서버 사이의 상태 정보를 저장하는데, 상태 정보를 이용하여 동작하는 가장 흔한 기능은 단연코 '인증과 인가'이다. 로그인에 성공한 사용자가 사이트를 이용하기 위해 권한을 부여받은 것을 '인가', 신원을 증명하는 행위를 '인증'라고 한다. 쿠키는 클라이언트에 데이터를 저장하기 때문에, 탈취와 변조에 대한 위험성을 지닌다. 따라서 인증과 인가를 위해 사용하기보다 팝업 창에서 오늘 하루 그만 보기, 장바구니 등과 같은 기능에 사용된다. 세션은 데이터베이스를 이용해.. 2024. 2. 16.
[네트워크] 쿠키와 세션 (쿠키와 세션의 필요성, 쿠키/세션 개념과 동작방식, 쿠키와 세션 차이, 쿠키를 사용하는 이유, 세션을 사용하는 이유, 웹캐시란?) 목차 쿠키와 세션의 필요성 : HTTP Stateless, Connectionless 쿠키 개념과 동작 방식 세션 개념과 동작 방식 쿠키와 세션 차이 쿠키를 사용하는 이유 세션을 사용하는 이유 웹캐시란? 1. 쿠키와 세션의 필요성 : HTTP Stateless, Connectionless HTTP는 웹 상에서 서버와 클라이언트 간 데이터를 송수신하기 위해 사용되는 프로토콜이다. HTTP는 서버와 클라이언트 구조를 띄며, Stateless하고 Connectionless하다는 특징을 가지고 있다. 그중 요청에 대한 응답이 끝나면 연결을 끊어버리는 Connectionless와 서버가 클라이언트의 상태를 저장하고 있지 않다는 Stateless 특성으로 인해, 클라이언트는 서버와 송수신할 때 요청하는 데이터 외에.. 2024. 2. 16.