Study: ComputerScience(CS)/CS: Network

    [Network] 네트워크 기본 개념 정리 (IP, Route, Subnet...)

    💡 본 문서는 '네트워크 기본 개념'에 대해 정리해놓은 글입니다. 와이파이를 설정하거나 서버 및 네트워크에 접속하는 등 생활속이나 개발하는데에 있어 종종 네트워크의 기본개념이 활용됩니다. 관련 기초개념에 대해 자세히 다루었으니 참고하시기 바랍니다. 네트워크(Network) 란? 분산되어 있는 컴퓨터들을 자원이나 정보를 공유하기 위하여 통신망으로 연결한 것을 의미합니다. 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭하며, 전송 매체로 서로 연결된 시스템을 의미합니다. 1. 네트워크 활용의 장점과 단점 모든 종류의 물리적 및 논리적 자원을 공유할 수 있으므로 자원 활용이 극대화 병렬 처리가 가능해지고 성능이 향상 데이터의 중복 저장이 가능하므로 데이터 복구가 용이하고 신뢰성이 향상되지만 일관성 ..

    [Network] Blocking vs Non-Blocking & Sync vs Async 비교 정리

    💡 본 문서는 'Blocking vs Non-Blocking'과 'Sync vs Async'에 대해 정리해놓은 글입니다. network외에도 이 개념은 사용할 때도 있으나, 이 문서의 경우 네트워크 상에서 말하는 개념으로 설명하고 있으니 참고바랍니다. Blocking vs Non-Blocking I/O 다른 주체가 작업할 때 자신의 제어권이 있는지 없는지로 판단할 수 있습니다. Blocking I/O System Call이 끝날때까지 프로그램은 대기해야 하고 System Call이 완료가 되면 그때야 Return 합니다. 다시 말하면, 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 때까지 기다렸다가 자신의 작업을 시작하는 것입니다. 이는 제어권이 다른 작업에 있다고 표현할 수 있..

    [Network] HTTP vs HTTPS / GET vs POST 차이점 비교

    HTTP vs HTTPS HTTPS 도입 HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재합니다. 이런 보안(Security) 문제를 해결해주는 프로토콜이 'HTTPS'입니다. HTTPS 동작순서 HTTP : TCP -> HTTP HTTPS : TCP -> SSL/TLS -> HTTP HTTPS 는 HTTP 통신하는 소켓 부분을 SSL(Secure Socket Layer) or TLS(Transport Layer Security)라는 프로토콜로 대체하는 것 뿐입니다. HTTPS 의 SSL 에서는 공통키 암호화 방식과 공개키 암호화 방식을 혼합한 *하이브리드 암호 시스템을 사용합니다. *하이브리드 암호: 공통키를 공개키 암호화 방식으로 교환한 다음에 이후의..

    [Network] RESTful API 의미와 설계 규칙

    API (Application Programming Interface)란? (= 서버 API) API는 한 프로그램이 다른 프로그램을 이용할 때 쓰는 인터페이스로 입출력이 데이터로 됩니다. 어떤 특정 사이트에서 특정 데이터를 공유할 경우 어떤 방식으로 요청해야 하는지 어떤 데이터를 받을 수 있는지 등의 규격을 말합니다. 프로그램에게 자신이 제공하고자 하는 데이터나 기능을 제어할 수 있는 API로 만들면, 서버와 데이터베이스에 대한 접근 권한이 있는 사람들에게만 접근성 부여할 수 있습니다. UI (User Interface)와 비교하면 이해가 편합니다. UI: 일반 사용자는 버튼이나 링크, 이미지등 특정 ui를 통해 조작함으로써 시스템을 제어합니다. API: 개발자가 특정 프로그램에서 제공하는 규격을 이용..