22.11.30 지하1층 스튜디오 - 4기 gshim
손님과 사장의 관계에서 무언가를 제공하는 측
웹서버는?
html, css, js 을 통해서 웹 데이터를 제공
request / response
첫줄. 헤더. 바디로 구분됨.
첫줄 : http에 필요한 필수정보
헤더 : meta date
body : 요청/응답과 함께 제공하는 data
서버 socket() bind() listen() <--> 클라이언트 socket()
accept() <--> 클라이언트 connect()
블락킹상황?
read/write 먹통 : 클라이언트가 서버에 데이터를 안보냈는데 read를 호출한 경우 / buffer가 다 찼을때 write를 호출한 경우
해결법 : 복사 붙여넣기? -> 실행흐름 여러개 만들기 fork()
c100k : 클라이언트 100개일때 문제 약자
but 사용자가 늘어남에 따라 비용이 커지고 비효율적이게 됨
하나의 프로세스에서 다수의 fd를 관리
멀티플렉싱함수 종류 - select() 모든os & 성능 저하, poll(), epoll(), kqueue() <- 이게 더 좋음 종속된 함수를 써서 성능이 더 좋음
# 정적웹과 동적웹
동적웹 - 필요한 개인정보들을 데이터베이스를 통해 가져와 웹 페이지를 만드러어
정적웹 - 그런거 모름
cgi = 약속, -> 실행 : cgi 스크립트/프로그램
웹서버 -> 넘기기,