CS/네트워크 14

EC2란?

1. EC2란 무엇인가? 3. 마무리 ✅ EC2란 무엇인가? Amazon Elastic Computed Cloud의 준말로 AWS 클라우드에서 온디맨드 확장 가능 컴퓨팅 용량을 제공하여 하드웨어 비용 절감 및 빠른 애플리케이션 배포를 목적으로 사용하는 클라우딩 컴퓨팅 서비스 사용한만큼 비용을 지불하기에 Elastic(탄력적)이라는 용어가 붙었으며, 비용뿐만아니라 성능, 용량 또한 자유롭게 조절할 수 있다. 우리는 물리적으로 서버를 구축하여 사용하는 것보다 더욱 빠르고 간편하고 적은 비용을 들이고 효율적으로 서버를 구축하기 위해 클라우딩 컴퓨팅 서비스를 이용할 수 있다. 📌 온디맨드 확장 가능하다? 더보기 사용자가 필요할 때마다 실시간으로 컴퓨팅 리소스를 추가하거나 줄일 수 있다는 의미로 이러한 유연성을 ..

CS/네트워크 2024.03.10

JWT - 어떻게 사용해야하는가?

1. JWT란 무엇인가? 2. 왜 JWT를 사용해야하는가? 3. JWT는 안전한가? 4. 토큰 탈취는 어떻게 이루어지는가? 5. 나는 어떤 방법으로 보안을 강화해야할까? ✅ JWT(JSON Web Token)란 무엇인가? 웹에서 사용되는 JSON 형식의 토큰에 대한 표준 규격으로 사용자의 인증, 인가 정보를 서버와 클라이언트 간에 안전하게 주고 받기 위해 사용되는 토큰이다. header, payload, signature로 구성되어 있으며 Base64-URL 문자열 형태로 "."을 통해서 구분되어 있다. 📦 header 일반적으로 토큰 유형과 서명 알고리즘으로 구성되어 있으며 JWT의 첫 번째 부분을 구성한다. { "alg": "HS256", "typ": "JWT" } 📦 payload 세가지 유형의 클..

CS/네트워크 2024.03.06

Socket

[ Socket ] 소켓(Socket)은 TCP/IP 기반 네트워크 통신에서 데이터 송수신의 마지막 접점. 즉 네트워크 상에서 돌아가는 두 개의 프로그램 간 양방향 통신의 하나의 엔드 포인트 - 엔드포인트 아이피 주소와 포트 번호의 조합을 의미. 모든 TCP 연결은 2개의 엔드 포인트로 유일하게 식별되어질 수 있음 따라서 클라이언트와 서버 간 여러 개의 연결이 맺어질 수 있음 소켓은 클라이언트 소켓과 서버 소켓으로 구분되며, 소켓간 통신을 위해서는 네트워크상에서 클라이언트와 서버에 해당되는 컴퓨터를 식별하기 위한 IP주소와 해당 컴퓨터내에서 현재 통신에 사용되는 응용프로그램을 식별하기 위한 포트번호가 사용됨 소켓통신은 이러한 소켓을 통해 서버-클라이언트간 데이터를 주고받는 양방향 연결 지향성 통신을 말함..

CS/네트워크 2024.02.04

JWT

[ JWT 사용하는 이유 ] ▶ Cookie 클라이언트가 웹 사이트에 접속할 때 그 사이트가 사용하게 되는 일련의 작은 기록 파일이라고 생각하면 됨 서버가 클라이언트에 정보를 전달할때 저장하고자 하는 정보를 응답 헤더(Cookie)에 저장하여 전달 Key-Value 형식의 문자열 형태로 저장됨 Set-Cookie에 던진 쿠키를 확인할 수 있음 쿠키는 로그인을 했을때 Set-Cookie의 형태로 반환을 받은 쿠키를 토대로 로그인이 필요한 요청을 할 때마다 받은 쿠키를 던져 요청을 하는 동작 구조를 가짐 로그인이 필요한 요청마다 ID와 PW를 보내야했다면 매우 번거로웠을태지만 이것을 쿠키로 대체한것 Cookie 단점 쿠키는 노출이 되었을 때 id, pw에 대한 민감 정보까지 다 노출이 되어 보안이 좋지 않음..

CS/네트워크 2024.02.04

HTTP2/HTTP3/웹소켓

HTTP 시작 1989년 팀 버너 리에 의해 제안된 인터넷의 하이퍼 텍스트 시스템 TCP/IP 프로토콜에서 동작 Get 메서드만 지원 HTTP 헤더 X, 상태 코드 X 서버와 클라이언트 간의 연결은 모든 요청 후에 닫힘 HTTP 1.x HTTP 1.0 특징 HTTP 메서드와 요청/응답 헤더 추가 HTTP 버전 정보가 요청 사이 내로 전송 상태 코드가 응답의 시작 부분에 붙어 전송 → 요청에 대한 성공과 실패의 동작 결과를 알 수 있음 응답 헤더의 content-Type으로 HTML 파일 이외의 다른 문서를 전송하는 기능 추가 문제점 비연결성으로 인한 단기 커넥션(Short-lived connection) 자원을 요청할 때마다 새로운 연결을 해야 함 각각의 자원을 연결/응답/종료를 반복하다 보니 느림 HT..

CS/네트워크 2023.11.25

웹의 동작 원리

주소창에 www.naver.com을 입력하면 생기는 일 ①② 웹 브라우저 검색창에 www.naver.com을 입력 통신을 하려면 IP주소를 알아야하기 때문에 1차적으로 DNS에 질의하는 과정이 필요하다. 브라우저는 사용자의 PC에서 Hosts파일에 DNS 캐싱이 있는지 확인한다. ➡️ 캐싱이 있다면 DNS에 묻지않고 캐싱된 데이터를 사용 ➡️ 없다면 3번 과정으로 URL URL은 웹에서 주어진 고유 리소스 주소 게시된 리소스를 검색하기 위해 브라우저에서 사용하는 메커니즘 도메인 이름과 URL 도메인 이름 : 인터넷에 있는 웹사이트의 고유한 주소를 가리킴 URL : 인터넷 상의 특정 자원의 위치를 가리키는 주소 프로토콜(예: http, https),도메인 이름, 경로, 페이지, 쿼리 파라미터 등의 정보를 ..

CS/네트워크 2023.11.12

DNS

DNS란? 도메인 IP를 기억하기 쉬운 이름으로 접속 가능하게 함 도메인 : example.com IP : 93.184.216.34 DNS(Domain Name System)란? 도메인 이름과 IP 주소에 대한 정보를 관리하는 시스템 사용자는 IP 주소를 몰라도 된다. 의의 이전에는 파일로 관리하였지만 이제는 서버를 사용해서 도메인이 추가되거나 IP가 변경되면 바로 반응하게 되어 성능상의 비약적인 변화를 만듦 a Record 도메인을 IP로 직접 연결 CNAME 도메인을 별명에 연결 IP가 유동적으로 연결하는 서버일 경우 AWS나 파이어베이스 DNS 동작 원리 다층적으로 나눠있고 계층적으로 관리 탐색은 도메인의 오른쪽부터 왼쪽으로 네임서버 IP주소와 도메인 주소를 연결해주는 역할 Recursive(재귀)..

CS/네트워크 2023.11.12

OSI 7계층

1. OSI 7계층이란? OSI 7 계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델이다. 아래 그림에서 아래부터 1계층(물리 계층) ~ 7계층(응용 계층)으로 구성되어 있다. 또 그림과 같이 각 계층을 지날 때마다 각 계층에서 Header가 붙게되고 수신측은 역순으로 헤더를 분석하면 된다. 1계층 - 물리계층(Physical Layer) 주로 전직적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비 단지 데이터 전기적인 신호(0, 1)로 변환해서 주고받는 기능만 할 뿐 이 계층에서 사용되는 통신 단위 : 비트(Bit)이며, 이것은 1과 0으로 나타내어지며, 전기적으로 On, Off 상태 신호의 전송속도, 전송모..

CS/네트워크 2023.11.11

CORS(교차 출처 리소스 공유)

[ CORS(교차 출처 리소스 공유) ] CORS(Cross-Origin Resource Sharing)는 출저가 다른 자원들을 공유한다는 뜻으로 한 출저에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념 즉 교차되는 출처 자원들의 공유 다른 출처에 있는 자원을 요청한다고 하면 이를 교차 출저 요청이라고 부름 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. - mdn 설명..

CS/네트워크 2023.07.09

CORS / CORS 해결방안 / 처리 방법

CORS란 교차 출처 리소스 공유(Cross-origin Resource Sharing)로, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하기 위한 체제이다. 출처는 프로토콜, 도메인, 포트로 구성되며, 같은 출처는 이 세 가지 요소가 동일한 경우를 말한다. 브라우저는 CORS 정책을 적용하여 요청을 보낼 때 출처를 검사하고, 서버는 응답 헤더를 사용하여 허용된 출처를 명시한다. 만약 CORS 정책을 위반하는 리소스 요청이 발생하면 브라우저는 해당 응답을 무시하고 접근을 차단한다. CORS의 동작 방식은 크게 세 가지가 있다: Preflight Request (프리플라이트 요청): 브라우저는 특정 조건을 충족하는 요청에 대해 사전에 서버에 OPTIONS ..

CS/네트워크 2023.07.09