Search
🌐

webserv

Created
2022/05/18

1) Socket

Concept and Basic Webserv with C

Very good flow chart to understand webserv

TCP or UDP by socket option

fd_set, FD_SET, FD_ZERO, FD_ISSET

File Control by fcntl

Socket Option

Multiple client by socket

sockaddr vs sockaddr_storage

sockaddr vs sockaddr_in

setsockopt

SO_REUSEADDR

2) I/O Multiplexing

select, poll, epoll, kqueue

킹스키 kqueue 사용법!

poll

3) HTTP

RFC 7230 to RFC 7231

HTTP 구조

Separator for CRLF

Default Timeout (on Nginx and HTTP Packet)

The case that buffer size can be bigger than Content-Length

Trailer Format on the Last Chunked Transfer

Contents Negotiation

Accept-Charset

Accept-Language

CGI Example and Principles

CGI Response Header

CGI Env

4) Debugging

Mac OS X vscode Debugg Setting

5) Implementation

Invalid pthread_t

Safe nullptr

Main thread cannot catch exception of other thread

Logger by strftime function

Frequenst Mistakes about Overloading Selection on String Literal

Do not miss Destructor when it is a virtual thing

Thread & Mutex Wrapper for RAII

cpp-pthread
HerbertKoelman

Directory Checker

Localtime Multithreading

Map Iterator after Erase

inet_ntop

Regex on C

readdir Entry Order

new / delete vs malloc / free

Charset & Collation

6) Regarding Evaluation