Web Server
헤렌 1차 강사
Binu(이해빈)
Web Server
헤렌 1개월차 강사
Binu(이해빈)
Web?
• Web page
• Web site
• Web server
Web page
• HTML
• CSS
• Javascript
Web Site
• Web page들의 모임
• 단일 주소 -> 홈페이지 주소
• Ex) www.fineadple.com
• 회사에서 하는일이 뭐야?
-> Backend 개발
• 그게 뭔데?
• 회사에서 하는일이 뭐야?
-> 서버 개발해
• 아.. 그렇구나
Web server?
1. 클라이언트로부터 HTTP 요청 -> 웹 페이지를 반환
- 프로그램
2. 위에 언급한 기능을 제공하는 프로그램을 실행하는 컴퓨터
Web server?
• 클라이언트로부터 HTTP 요청 -> (저장된)웹 페이지를 반환
• 서버에 저장된 파일(HTML, Image, JS등) 이 전달
-> 정적 웹 페이지(Static Web Page)
그러면?
• 동적 웹 페이지(Dynamic Web Page)
• 사용자의 요청에 따라 가공 처리되어 생성되는 웹 페이지
그래서 누가?
• WAS(Web Application Server)
• DB조회, 다양한 로직처리 -> 동적 웹 페이지 반환
• Web server + Web Container
• Web Container -> JSP, Servlet을 실행시킬 수 있는 소프트웨어
• JSP(Java Server Pages)
• HTML내에 Java 코드를 삽입
• 웹 서버에서 동적으로 웹 페이지를 생성
• Servlet
• Java 코드 내에 HTML 코드
• Server Side에서 돌아가는 Java Program
WAS가 다하면 되겠네
• 기능의 분리 -> 서버 부하 방지
• WAS가 바쁘다.
• 정적 컨텐츠 처리까지 더해지면 동적 컨텐츠 처리의 지연
• 물리적 분리 -> 보안 강화
• Web Server의 Load Balancing
• 다수의 WAS를 Web Server에 연결 가능
• Web server
• Apache, Nginx
• WAS
• Tomcat, JBoss, Jeus, Web Sphere…
Django
• Web Application Framework
• Python
• 인증, 관리등의 기능이 기본 모듈로써 제공
• 성공적인 도입 사례 (Instagram)
CGI vs WAS vs WSGI
• ?????
CGI(Common Gateway Interface)
• Request
• Web Server(ex.apache)
• Program(perl, C/C++)
WAS(Web Application Server)
• Request
• Web Server(ex.apache)
• WAS(Tomcat)
• Program
WSGI(Web Server Gateway Interface)
• Request
• Web Server(ex.apache)
• WSGI(ex. uWsgi)
• Web Application(ex. Django, flask)
WSGI(Web Server Gateway Interface)
• 환경변수에 따라 request의 경로 지정
• 동일 프로세스에서 여러 Application과 Framework의 실행
• XSLT 스타일시트를 적용하는 것과 같이 전처리함(?)
CGI vs WAS vs WSGI
• Server-side Language에 따른 변화

Web server

  • 1.
    Web Server 헤렌 1차강사 Binu(이해빈)
  • 2.
    Web Server 헤렌 1개월차강사 Binu(이해빈)
  • 3.
    Web? • Web page •Web site • Web server
  • 4.
    Web page • HTML •CSS • Javascript
  • 7.
    Web Site • Webpage들의 모임 • 단일 주소 -> 홈페이지 주소 • Ex) www.fineadple.com
  • 8.
    • 회사에서 하는일이뭐야? -> Backend 개발 • 그게 뭔데?
  • 9.
    • 회사에서 하는일이뭐야? -> 서버 개발해 • 아.. 그렇구나
  • 10.
    Web server? 1. 클라이언트로부터HTTP 요청 -> 웹 페이지를 반환 - 프로그램 2. 위에 언급한 기능을 제공하는 프로그램을 실행하는 컴퓨터
  • 11.
    Web server? • 클라이언트로부터HTTP 요청 -> (저장된)웹 페이지를 반환 • 서버에 저장된 파일(HTML, Image, JS등) 이 전달 -> 정적 웹 페이지(Static Web Page)
  • 13.
    그러면? • 동적 웹페이지(Dynamic Web Page) • 사용자의 요청에 따라 가공 처리되어 생성되는 웹 페이지
  • 15.
    그래서 누가? • WAS(WebApplication Server) • DB조회, 다양한 로직처리 -> 동적 웹 페이지 반환 • Web server + Web Container • Web Container -> JSP, Servlet을 실행시킬 수 있는 소프트웨어
  • 16.
    • JSP(Java ServerPages) • HTML내에 Java 코드를 삽입 • 웹 서버에서 동적으로 웹 페이지를 생성 • Servlet • Java 코드 내에 HTML 코드 • Server Side에서 돌아가는 Java Program
  • 17.
    WAS가 다하면 되겠네 •기능의 분리 -> 서버 부하 방지 • WAS가 바쁘다. • 정적 컨텐츠 처리까지 더해지면 동적 컨텐츠 처리의 지연 • 물리적 분리 -> 보안 강화 • Web Server의 Load Balancing • 다수의 WAS를 Web Server에 연결 가능
  • 18.
    • Web server •Apache, Nginx • WAS • Tomcat, JBoss, Jeus, Web Sphere…
  • 19.
    Django • Web ApplicationFramework • Python • 인증, 관리등의 기능이 기본 모듈로써 제공 • 성공적인 도입 사례 (Instagram)
  • 20.
    CGI vs WASvs WSGI • ?????
  • 21.
    CGI(Common Gateway Interface) •Request • Web Server(ex.apache) • Program(perl, C/C++)
  • 22.
    WAS(Web Application Server) •Request • Web Server(ex.apache) • WAS(Tomcat) • Program
  • 23.
    WSGI(Web Server GatewayInterface) • Request • Web Server(ex.apache) • WSGI(ex. uWsgi) • Web Application(ex. Django, flask)
  • 24.
    WSGI(Web Server GatewayInterface) • 환경변수에 따라 request의 경로 지정 • 동일 프로세스에서 여러 Application과 Framework의 실행 • XSLT 스타일시트를 적용하는 것과 같이 전처리함(?)
  • 25.
    CGI vs WASvs WSGI • Server-side Language에 따른 변화