Computer Networks
네이티브 애플리케이션 vs 웹 애플리케이션
네이티브 애플리케이션
장점
- 상대적으로 빠르다.
- 기기의 리소스에 접근이 용이하다.
- 인터넷 없이 사용 가능하다.
- 상대적으로 안전하다.
단점
- 개발비가 더 들어간다. (멀티 플랫폼)
- 빠른 업데이트, 배포가 힘들다.
- 앱 스토어에 등록하는 비용이 발생한다.
웹 애플리케이션
장점
- 설치나 다운로드가 필요 없이 브라우저로 실행 가능하다.
- 업데이트 등의 유지관리가 쉽다. (바로 배포 가능)
- 상대적으로 개발이 간편하다.
- 앱 스토어 승인이 필요 없다.
단점
- 인터넷 연결이 필요하다.
- 상대적으로 느리다.
- 앱 스토어의 관리를 받지 않아 사용자 접근성이 떨어진다.
- 상대적으로 보안상 위험에 노출되기 쉽다.
TCP/IP
TCP/IP 4 Layers | OSI 7 Layers | Protocol Examples |
---|---|---|
Application | Application | DNS, HTTP, SSH, TLS/SSL |
Application | Presentation | MIME, ASCII |
Application | Session | Named pipe, RTP |
Transport | Transport | TCP, UDP, QUIC |
Internet | Network | IP |
Link | Data Llnk | ARP, MAC (Ethernet, Wi-Fi) |
- | Physical | Ethernet PHY, Wi-Fi PHY |
- MAC
- ARP
- OSI 2.5 layer, network와 data link 사이
- QUIC - Wikipedia
패킷
IP
IPv4
- IPv4
- 서브넷 전체 주소: 호스트 비트 모두 0
- 브로드캐스트 주소: 호스트 비트 모두 1
- IP address management - Wikipedia
IP의 한계
- 비연결성, 비신뢰성 → TCP, UDP
TCP & UDP
TCP | UDP | |
---|---|---|
서비스 타입 | 연결 지향 | 데이터그램 지향 |
신뢰성 | 목적 기기까지 전송을 보장 | 목적 기기까지 전송이 보장되지 않음 |
순서 보장 | 자체적으로 순서 보장 | 자체적으로 순서 보장되지 않음, 상위 계층에서 순서 관리 필요 |
속도 | 상대적으로 느림 | 상대적으로 빠름 |
- TCP와 UDP 중 비디오 스트리밍 상황에 주로 사용하는 방식
주로 UDP를 사용한다. 데이터를 빠르게 전송하는 것이 중요하고 약간의 손실은 감수할 수 있기 때문이다. - 미 국방부가 TCP/IP가 극심한 전시중 에도 신뢰성을 잃지 않는다고 판단한 이유
RTO, DupAck 기반 재전송 기술로 신뢰성이 확보되어 있다. - DNS 서버가 TCP방식에서 동작하는 경우의 문제점
서버와 클라이언트의 연결이 유지되어야 하는 TCP의 구조상 자원이 더 많이 들 수 밖에 없다.
서버와 클라이언트 간의 더 큰 데이터 교환이 필요한 경우에는 TCP를 사용하기도 한다.
포트
포트와 소켓
• 같은 웹 브라우저를 동시에 두개 켜 놓고 같은 사이트에 접속을 해도 문제 없이 통신이 가능합니다. 이러한 경우. 어떠한 방식으로 원활히 통신이 가능할 수 있을까요?
URL & DNS
URL & URI

- Microservices
- 특정 기능을 하는 작은 서비스들을 모아 하나의 웹 애플리케이션을 만든다.
Serverless
- Serverless computing
- 클라우드 서비스에서 서버와 그 기반 기능들을 담당하여 개발자가 서버를 관리할 필요가 없이 필요한 기능을 구현할 수 있다.
구현 기술
SSR과 CSR
CORS (Cross-Origin Resource Sharing)
HTTP
- Hypertext Transfer Protocol
- HTTP | MDN
- HTTP Messages - HTTP | MDN
- HTTP request methods - HTTP | MDN
- HTTP response status codes - HTTP | MDN
Further Reading
- What is the difference between POST and PUT in HTTP?
- Idempotent - MDN Web Docs Glossary: Definitions of Web-related terms | MDN
- MIME types (IANA media types) - HTTP | MDN
- Stateless protocol - Wikipedia
REST
Richardson Maturity Model (RMM)
Open API
Examples
Further Reading
- What is REST - REST API Tutorial
- 5 Basic REST API Design Guidelines
- api.gov.au
- API design guide | Cloud APIs | Google Cloud
- api-guidelines/Guidelines.md at master · microsoft/api-guidelines
- GitHub - OAI/OpenAPI-Specification: The OpenAPI Specification Repository