Network Programming Practice
Following some documents & http://mobilelab.khu.ac.kr/wordpress/fssn/?vid=14
Information Exchange
python echo-server.py
python echo-client.py
netstat -an
- Viewing Socket State
realpython/python-sockets
Socket Programming w/C
- Get PID
Get-Process -Id (Get-NetTCPConnection -LocalPort 포트#).OwningProcess
-> KILLtaskkill /F /PID PID#
Kernel -> Application
ZeroMQ
ZeroMQ Github
PyPI pyzmq
메시지 기반 요청 - 응답 구조
- Resources: Media-Types (Content-type, ..), URI
- Transactions: HTTP Methods, Status Code
- Methods: GET, HEAD, PUT, POST, TRACE, OPTIONS, DELETE
- Monolithic vs SOA vs Microservice
- SOAP(XML) vs REST(JSON)
- Connections: HTTP over TCP/IP and TLS/SSL, Proxy
- GET(R), PUT(U), POST(C), DELETE(D)
-
gRPC HTTP/2, RPC기반 Protobuf 활용 통신
learn.microsoft - gRPC 서비스와 HTTP API 비교
Python Microservices With gRPC -
HTTP/2 Google SPDY - 구글의 비표준 네트워크 프로토콜
- binary framing layer 도입
- 지연시간 감소, 응답 다중화, 헤더필드 압축, 우선순위 지정, 서버 푸시
Go http2 package
Certificates for localhost
UDP 위에서 동작하는 (+ TCP에 상응하는) QUIC[L4]
QUIC Working Group
- HTTP/1.1 - ASCII over TCP
- HTTP/2 - Binary multiplexed over TCP
- HTTP/3 Binary over Multiplexed QUIC
Web P2P Real Time Communication