물음표 살인마의 개발블로그

Back-End TIL/네트워크 7

CORS (Cross Origin Resource Sharing)

SOP는 2000년대 초반에 탈취한 데이터로 서버로 접속하는 것을 막기 위해 생겨난 기능입니다. 이 기능을 조금 완화 시켜, 특정 출처에서 제공하는 리소스에 대한 접근을 허용하는 게 CORS 입니다. CROS는 웹 페이지가 다른 도메인의 리소스에 접근 할 수 있도록 하는 메커니즘이다. 웹 애플리케이션은 자주 다양한 도메인에서 데이터를 가져와야 하는데, 이 때 보안상의 이유로 기본적으로 동일 출처 정책이 적용된다(SOP, Same-Origin Policy). CORS는 이러한 정책을 일부 완화하여, 특정 출처에서 제공하는 리소스에 대한 접근을 허용한다. SOP 동일 출처 정책 동일 출처 정책은 웹 보안의 핵심 개념으로, 웹 애플리케이션에서 다른 도메인의 리소스를 직접 요청하는 것을 제한한다. 동일 출처 정..

OSI7계층과 그 존재 이유, TCP/IP 4계층에 대해 설명해보세요.

OSI 77계층 (Open Systems Interconnections 7 Layer)은 네트워크 프로토콜 디자인과 통신을 표준화하기 위해 개발된 모델입니다. 이 계층 구조는 데이터 전송의 각 과정을 쉽게 파악하고, 문제 해결 및 네트워크 기술 개발에 도움이 되도록 설계 되었습니다. OSI 7계층의 각 계층은 다음과 같습니다: 1. 물리 계층 (Physical Layer) 비트 단위의 데이터를 전기적 신호로 변환하여 전송하는 계층(케이블, 허브, 리피터 등) 2. 데이터 링크 계층 (Data Link Layer): 프레임 단위의 데이터 전송을 담당하며, 에러 검출 및 제어를 수행 (이더넷, 맥주소, 스위치 등) 3. 네트워크 계층 (Neywork Layer): 데이터를 목적지까지 가장 효율적인 경로로 전..

RESTful API 란 무엇인가?

RESTful API란? RESTful API란 Representational State Transfer(표현 상태 전송)의 약어로, 웹 서비스에서 자주 사용되는 아키텍처 스타일입니다. RESTful API는 클라이언트와 서버 간의 통신에서 HTTP를 사용하며, 리소스의 상태를 표현하고 전송하기 위해 URI(Uniform Resource Identifier)와 HTTP 메서드를 사용합니다. 이러한 RESTful 아키텍처 스타일은 웹 상의 자원을 이름으로 식별하고, 클라이언트와 서버 간의 분리와 상호작용을 강조합니다. RESTful API의 특징 클라이언트-서버 구조: 클라이언트와 서버 간의 역할을 명확하게 구분합니다. 무상태성(stateless): 서버는 각 요청을 별개의 것으로 처리하고, 클라이언트와의..

Http 메서드와 이것이 하는 역할

HTTP(HyperText Transfer Protocol)는 인터넷에서 데이터를 전송하기 위한 프로토콜 입니다. HTTP 프로토콜은 클라이언트와 서버 간 통신 방식을 정의하며, 이를 위해 HTTP 메서드를 사용합니다. HTTP 메서드는 클라이언트가 서버에 요청을 보내는 방식을 나타내며, 클라이언트가 서버에 어떤 동작을 요청하는지를 정의합니다. 일반적으로 사용되는 Http 메서드는 다음과 같습니다. 1. GET 서버로부터 정보를 요청할때 사용합니다. 주로 URL에 파라미터를 추가하여 정보를 요청합니다. 데이터를 전송하지 않으며, 요청에 대한 응답으로 정보를 받습니다. 2. POST 서버에 데이터를 제출할때 사용합니다. 데이터를 BODY에 담아 전송합니다. 데이터를 서버에 제출하고 응답으로 결과를 받습니다..

TLS 핸드쉐이크와 3way handshake의 차이점

TLS 핸드쉐이크와 3-way handshake의 차이저믄 목적과 적용되는 계층에 있습니다. 3-way handshake는 TCP/IP 프로토콜에서 사용하는 연결 설정 프로토콜로, 클라이언트와 서버 간의 여녀결을 설정하기 위해 사용됩니다. 이 과정은 TCP의 세션 계층에서 이루어지며,3단계로 이루어집니다. 1. 클라이언트는 서버에 SYN 패킷을 보냅니다. 2. 서버는 SYN 패킷을 받고, 클라이언트에세 SYN-ACK 패킷을 보냅니다. 3. 클라이언트는 SYN-ACK 패킷을 받고, ACK 패킷을 보내서 서버와 연결을 확립합니다. 반면 TLS 핸드쉐이크는 TLS 프로토콜에서 사용하는 인증 및 암호화 방법 협상을 위한 과정으로, TCP/IP 프로토콜과 별도로 적용됩니다. TLS 핸드쉐이크는 TLS 프로토콜의 ..

웹 통신의 큰 흐름

https://www.google.com/을 접속할 때 일어나는 일 1. 사용자가 웹 브라우저를 통해 https://www.google.com에 에 접속합니다. 2. 브라우저는 해당 사이트의 URL을 DNS(Domain Name System) 서버에 요청하여 IP 주소를 받아옵니다. 3. 브라우저는 받아온 IP 주소를 통해 웹 서버에 SSL 핸드쉐이크를 요청합니다. (서버와 클라이언트 간의 통신을 위한 세션 키를 생성하기 위해 이루어집니다.) 4. 서버는 브라우저의 SSL 핸드쉐이크 요청을 받아서, 서버의 공개키, 인증서, 서버 구성 정보 등을 클라이언트에게 전달합니다. 5. 브라우저는 서버에서 전달받은 인증서를 확인하고, 신뢰할 수 있는 인증기관(CA)에서 발급한 것인지를 검증합니다. 6. 인증서 검증..

UDP와 TCP의 차이

TCP와 UDP의 차이 TCP와 UDP는 모두 인터넷 프로토콜 중 전송 제어 프로토콜(Transport Control Protocol)입니다. 그러나 이 두 프로토콜은 중요한 차이점이 있습니다. 1. 연결 지향성 TCP는 연결 지향 프로토콜입니다. 즉, 두 컴퓨터 간 데이터 전송을 시작하기 전에 세션을 설정합니다. 이에 반해 UDP는 비연결성 프로토콜이므로 세션 설정 단계를 건너뜁니다. 이러한 연결 지향성은 TCP가 데이터를 보내기 전에 송수신 측 사이에 핸드셰이킹(Handshaking) 프로세스를 수행함으로써 세션을 설정하는 것입니다. 이는 데이터 전송 과정에서 연결을 확립하고 종료하는 과정을 포함합니다. UDP는 이러한 과정을 거치지 않기 때문에, 데이터 전송을 위해 적은 양의 오버헤드만 필요합니다...