HttpServer implementation with C#.
- Streaming HTTP request parsing.
- Re-implement without LINQ (for performance)
- C++/CLI로 파서 재작성
- Response with simple format
- gzip encoding
- chunked encoding
- keep alive
- timeout (server-side)
- Interface for middleware
- WebSocket
- Handshaking
- 버전 체크
- Subprotocol
- Protocol Upgrading
- Frame parsing
- Payload7
- Payload16
- Payload64
- Frame contstruction
- Payload7
- Payload16
- Payload64
- fin 0/1 (Segmented packet)
- 연결 관리
- 먼저 보내기
- 먼저 끊기
- PingPong
- Echo Server
- Fragmentation
- Receiving fragmented packets
- Control frames between fragmented packets
- Sending fragmented packets
- Handshaking
- Exception handling
- Parsing error (400)
- Internal server error (500)
- 잘못된 버전 (505)
- Packets without masks
- Request too long
- Request timeout (408)
- HTTP
- WebSocket
- HTTPS
- Streaming response
- HTTP2.0
- Protocol upgrading
- H2C
- Direct
- H2 (ALPN)
- HPACK
- Static Table
- Dynamic Table
- String Decoding
- String Encoding
- Stream
- Ping
- Setting
- Data
- 조각난 데이타 프레임
- Padding
- Protocol upgrading
- Adaptor 연결고리 제작
- 애플리케이션과의 연결고리 제작
- CSX Adaptor implementation
- Static Adaptor implementation (FileServer)
- OWIN Adaptor (Nancy)
- CGI
- PHP
- 간단하게 프로그래밍 가능한 어플리케이션 레이어 구성
// HTTP SERVER
var serv = ServerFactory.CreateHttp<SimpleAdaptor>();
// HTTPS SERVER
var cert = new X509Certificate2("server.pfx", "password");
var serv = ServerFactory.CreateHttps<SimpleAdaptor>(cert);
serv.Open(9916);