22.11.30 지하1층 스튜디오 - 4기 gshim

  1. PBL 이 머지 ? 서버가 요청을 받을 때, 그 요청은 어디에서 제일 먼저 처리되나? → 웹서버
  2. 서버란?
손님과 사장의 관계에서 무언가를 제공하는 측 

웹서버는?
html, css, js 을 통해서 웹 데이터를 제공
  1. HTTP ?

IMG_2058.HEIC

request / response

첫줄. 헤더. 바디로 구분됨. 
첫줄 : http에 필요한 필수정보
헤더 : meta date
body : 요청/응답과 함께 제공하는 data
  1. soket - 무전기?
서버 socket() bind() listen() <--> 클라이언트 socket()
accept() <--> 클라이언트 connect()

블락킹상황?
read/write 먹통 : 클라이언트가 서버에 데이터를 안보냈는데 read를 호출한 경우 / buffer가 다 찼을때 write를 호출한 경우
해결법 : 복사 붙여넣기? -> 실행흐름 여러개 만들기 fork()

c100k : 클라이언트 100개일때 문제 약자

but 사용자가 늘어남에 따라 비용이 커지고 비효율적이게 됨

IMG_2059.HEIC

  1. I/O Multiplexing 방식의
하나의 프로세스에서 다수의 fd를 관리

멀티플렉싱함수 종류 - select() 모든os & 성능 저하, poll(), epoll(), kqueue() <- 이게 더 좋음 종속된 함수를 써서 성능이 더 좋음

IMG_2060.HEIC

  1. CGI 의 개요
# 정적웹과 동적웹

동적웹 - 필요한 개인정보들을 데이터베이스를 통해 가져와 웹 페이지를 만드러어
정적웹 - 그런거 모름

cgi = 약속, -> 실행 : cgi 스크립트/프로그램

웹서버 -> 넘기기,  

IMG_2061.HEIC

IMG_2062.HEIC