14:00 ~ 15:30
프론트/백 말고도 정말 다양한 분야가 있고, 둘 중 하나로 자신의 목표를 한정시키지 않았으면 좋겠다.
HTTP
- 대화를 하려면 언어가 필요하고, 브라우저와 웹 서버가 대화할 때는 HTTP라는 언어를 사용
- 요청 & 응답
- HTTP1.0
connect()
→ 자원 찾아서 응답 → close()
- HTML 파일 파싱 → 이미지 필요
connect()
→ 자원 찾아서 응답 → close()
- DOM 객체를 생성하고 페이지 렌더링
- 스테이트리스 프로토콜
HTTP 1.0
- 요청을 하고 응답이 오고 나서야 이후의 추가 요청(이미지 등)을 하므로, 총 요청 시간이 serial(순차적)하게 증가(응답을 받아야 추가 요청을 보내므로)
HTTP 1.1
- 킵 얼라이브
Connect : keep-alive
, Keep-alive : timeout=5; max=100
헤더
- 계속 연결을 유지하므로 connection을 요청마다 다시 하지 않고 유지했다가 다시 요청을 보냄
HTTP 2.0
Common Gateway Interface(CGI)
웹 애플리케이션 서버
- 데이터를 어떻게 보낼까? → 표준입출력으로 처리하자
FastCGI
- 바이너리 프로토콜로 변경
- CGI는 실행 파일을 그대로 실행하므로, 개발자가 while문 하나만 잘못 작성해도 무한순회하며 서버가 죽어버릴 여지가 큼