[네트워크] RESTful의미와 설계규칙
·
CS/네트워크
REST (Representational State Transfer)아키텍처 스타일을 따르는 웹 서비스의 설계 방식입니다. REST는 클라이언트와 서버 간 통신에서 HTTP 프로토콜의 표준을 준수하며 리소스를 URL로 표현하고, HTTP 메서드를 통해 자원을 처리하는 구조를 따릅니다. RESTful은 이런 REST 원칙을 잘 구현한 API RESTful 설계의 의미RESTful 설계는 리소스를 URL로 명확하게 표현하고 HTTP 메서드를 활용해 CRUD (Create, Read, Update, Delete) 작업을 수행하는 구조입니다. RESTful API는 자원의 상태를 일정하게 유지하면서 요청과 응답을 처리하기 때문에 상태 비저장성과 클라이언트-서버 분리를 잘 구현할 수 있습니다.RESTful 설계 ..
[네트워크] 공개키 암호 & 대칭키 암호
·
CS/네트워크
대칭키 암호 (Symmetric Key Encryption)개념: 대칭키 암호는 하나의 키로 데이터를 암호화하고 해독하는 방식입니다. 송신자와 수신자가 동일한 키를 공유하고, 이 키를 사용해 데이터를 암호화하고 복호화합니다.장점: 암호화와 복호화 속도가 상대적으로 빠르며, 대량의 데이터를 처리하기에 효율적입니다.단점: 동일한 키를 공유해야 하기 때문에 키 분배가 어렵고, 키가 유출되면 데이터가 쉽게 노출될 위험이 있습니다.예시: AES, DES, 3DES, RC4 등이 대표적인 대칭키 암호 알고리즘입니다.사용 예시대칭키 암호화는 대량의 데이터 전송이 필요한 환경이나, 내부 시스템 간의 암호화된 통신 등에 주로 사용됩니다.공개키 암호 (Public Key Encryption, 비대칭키 암호)개념: 공개키 ..
[네트워크] HTTP와 HTTPS (feat.SEO)
·
CS/네트워크
HTTP와 HTTPS는 모두 웹에서 정보를 주고받기 위한 프로토콜이지만, 데이터의 보안성에 큰 차이가 있습니다. HTTP는 일반 텍스트로 데이터를 전송하는 반면, HTTPS는 데이터를 암호화하여 전송하여 보안을 강화합니다.HTTP (HyperText Transfer Protocol)기본 개념: HTTP는 인터넷에서 클라이언트와 서버 간 데이터를 주고받기 위한 프로토콜입니다. 사용자가 웹페이지에 접근하면, HTTP를 통해 서버에서 클라이언트로 데이터를 전송합니다.비암호화 통신: HTTP는 데이터를 일반 텍스트로 전송하기 때문에 중간에 제3자가 데이터를 쉽게 읽을 수 있습니다. 이를 '평문 통신'이라 하며, 해커가 데이터를 가로채거나 변조할 수 있습니다.포트 번호: HTTP는 기본적으로 80번 포트를 사용합..
[네트워크] 로드 밸런싱(Load Balancing)
·
CS/네트워크
네트워크 트래픽을 여러 서버로 고르게 분산시켜 서버에 과부하가 걸리는 것을 방지하고, 서비스의 가용성과 성능을 최적화하는 기술입니다. 이를 통해 시스템의 효율성과 안정성을 높이며, 사용자가 빠르고 안정적인 응답을 받을 수 있도록 돕습니다. 로드 밸런싱의 주요 목적고가용성: 여러 서버에 요청을 분산시켜 단일 서버 장애 시에도 시스템을 안정적으로 운영할 수 있도록 합니다.성능 향상: 트래픽을 효율적으로 분산하여 시스템의 응답 속도를 높이고, 처리 능력을 향상합니다.확장성: 시스템에 서버를 추가해 부하를 분산함으로써 확장성을 높이고, 성능 저하 없이 더 많은 요청을 처리할 수 있습니다.로드 밸런싱의 주요 방식DNS 로드 밸런싱: DNS 서버에서 요청을 여러 IP로 분산하여 트래픽을 분산합니다.L4 (Layer..
[네트워크] TCP와 UDP의 특징과 차이점
·
CS/네트워크
TCP의 특징연결 지향적 프로토콜: 데이터 전송 전에 수신 측과 연결을 설정(3-way handshake)한 후 데이터를 전송합니다.신뢰성: 전송 중 손실된 패킷이 있으면 재전송을 통해 복구하고, 패킷의 순서를 보장해 전송합니다.흐름 및 혼잡 제어: 네트워크의 상태와 수신자의 처리 능력을 고려해 전송 속도를 조절해 줍니다.오버헤드가 큼: 연결 설정, 패킷 순서 보장, 오류 제어 등을 위한 부가 작업이 많아 상대적으로 전송 속도가 느리고, 헤더 크기가 큽니다(20-60바이트).UDP의 특징비연결형 프로토콜: 데이터를 전송하기 전에 연결 설정 과정이 없어, 바로 전송이 가능합니다.신뢰성이 낮음: 패킷이 손실되거나 순서가 뒤바뀔 수 있으며, 이를 복구하지 않고 그대로 전송합니다.오버헤드가 적음: 추가적인 제어..
[네트워크] OSI 7 계층
·
CS/네트워크
OSI 7 계층 :  컴퓨터 네트워크에서 시스템 간의 상호 연결을 표준화하기 위해 ISO(국제표준화기구)에서 제정한 모델OSI 7 계층의 구조 및 역할물리 계층 (Physical Layer)역할: 실제 하드웨어 장치 간의 데이터 전송을 담당합니다. 전송 매체, 신호 형태, 전압 등을 정의하며, 전기적 신호로 데이터가 이동하는 방식을 다룹니다.전송단위: 비트예: 케이블, 허브, 리피터 등데이터 링크 계층 (Data Link Layer)역할: 물리 계층을 통해 전송되는 데이터를 프레임으로 변환하여 전송하며, 오류 감지 및 수정, 흐름 제어를 담당합니다. 네트워크 기기 간 신뢰성 있는 데이터 전송을 지원합니다.전송단위: 프레임예: 스위치, 브리지, MAC 주소네트워크 계층 (Network Layer)역할: 데..
8. 트리
·
CS/자료구조
https://gentle-mandolin-ab0.notion.site/8-59867004f9df42b5817dce27fce5a4ac 8단원: 트리 1) 트리의 개요 gentle-mandolin-ab0.notion.site
7. 큐
·
CS/자료구조
https://gentle-mandolin-ab0.notion.site/7-380d480907ba43cdbc096764140d4447 7단원: 큐 1) 큐의 이해와 ADT 정의 gentle-mandolin-ab0.notion.site
6. 스택
·
CS/자료구조
https://gentle-mandolin-ab0.notion.site/6-c9ca5cf0842546f38506bb07cc381176 6단원: 스택 1) 스택의 이해와 ADT 정의 gentle-mandolin-ab0.notion.site
5. 연결리스트3
·
CS/자료구조
https://gentle-mandolin-ab0.notion.site/5-3-ac80e5c35437469996486db8e8e21b9a 5단원: 연결 리스트 3 1) 원형 연결 리스트 gentle-mandolin-ab0.notion.site