임태현, IIS with ASP.NET

태현 임
태현 임Smilegate
IIS with ASP.NET
IO Studio 기술세미나
시작하기 앞서 …
Beginner’s Guide: How IIS Process ASP.NET Reques
위의 포스트를 필요에 맞게 재구성
발표자
임태현
마비노기를 비롯한 여러 프로젝트에서 서버 개발자로 참여
현재 머신러닝 및 데이터 분석 관련 작업 중
ASP.NET 과 웹서버
ASP.NET은 호스팅 할 수 있는 웹서버가 필요
WebDev.WebServer.exe
– VisualStudio 에서 ASP.NET 어플리케이션을 호스팅
웹서버의 기본 형태
클라이언트가 정보 요청
서버가 요청을 받음
처리결과를 클라이언트로 전달
IIS
Internet Information Server
ASP.NET 을 호스트 할 수 있는 웹 서버중 하나
자체적으로 ASP.NET 을 처리할 수 있는 모듈 탑재
IIS 핵심 모듈
• Worker Process
• Application Pool
Worker Process
• W3WP.EXE
• ASP.NET 응용프로그램을 실행
– 모든 ASP.NET 함수는 Work Process 안에서 실행
• 클라이언트에 응답을 작성
Application Pool
• 워커프로세스를 환경을 공유하는 단위로 나누어서 관리
• 보안과 확장성을 위한 구조
– 프로세스간 격리
IIS 계층 구성
• Kernel Mode
• User Mode
Kernel mode
클라이언트로부터의 리퀘스트를 수신
해당 클라이언트에게 응답을 반환
네트워크와 프로토콜 관련 작업 처리
HTTP.SYS
• 유저 리퀘스트가 오면 제일 먼저 HTTP.SYS 에 도착
• 어느 어플리케이션 풀로 전달하지는 HTTP.SYS 가 결정
HTTP.SYS  어플리케이션 풀
• HTTP.SYS 는 워커프로세스에 대한 리퀘스트를 관리
• 어플리케이션풀 하나당 하나의 리퀘스트 큐
• HTTP.SYS 는 URI 기준으로 라우팅 테이블 작성
• 라우팅 테이블을 기준으로 어플리케이션 풀을 결정
User Mode
어플리케이션 프로세스를 실행
ASP.NET 관련 라이브러리 실행
사용자 코드 관련 작업 처리는 여기에서!
WAS
• Web Administration Service
• 리퀘스트를 어플리케이션 풀에 전달
• 어플리케이션 풀을 관리
• 웹 환경 설정을 관리
W3WP.EXE
워커프로세스를 관리
– 워커 프로세스 실행
– 리퀘스트 전달
ISAPI
• Internet Server Application Program Interface
• CGI의 단점을 개선하고 성능 개선을 위해 제안
– CGI : 어플리케이션 풀마다 별도로 모듈을 적재
– ISAPI : 공용 모듈이 별도의 메모리공간에 적재
ASPNET_ISAPI.DLL
• W3WP.EXE 가 ASP.NET 환경을 사용하기 위해서
ASPNET_ISAPI.DLL 라는 ISAPI 모듈을 등록
• Aspnet_regiis.exe 로 수동등록 가능
HTTPRuntime
워커 프로세스가 aspnet_isapi.dll 로드 후 시작
ProcessRequest 함수가 엔트리포인트
HttpContext
• ProcessRequest 함수 호출시 생성
• 리퀘스트 처리 동안 계속 유지
• Session 과 같은 객체의 접근 통로
HttpPipeline
모든 리퀘스트는 지정된 모듈들을 통과하여야 한다
모듈의 목록과 순서는 어플리케이션에서 정의
HttpHandler
• 파이프라인의 엔드포인트
• 리퀘스트가 HttpHandler 에 이르르면 응답을 반환
– Ex) 웹페이지에 대한 요청이 왔다면 핸들러는 html 을 반환
정리
리퀘스트를 HTTP.SYS 가 받음
WAS 에 전달하여 어플리케이션 풀 할당
워커 프로세스에 전달
ISAPI 로드후 HTTPRuntime 실행
파이프라인을 통과하면서 모듈들 처리
ASP.NET 웹 페이지 호출
Q & A
감사합니다
1 de 24

Recomendados

두근두근 ASP.NET 5! por
두근두근 ASP.NET 5!두근두근 ASP.NET 5!
두근두근 ASP.NET 5!SangHoon Han
3.6K vistas35 diapositivas
[Td 2015]asp.net 5 깊게 파고들기(박용준) por
[Td 2015]asp.net 5 깊게 파고들기(박용준)[Td 2015]asp.net 5 깊게 파고들기(박용준)
[Td 2015]asp.net 5 깊게 파고들기(박용준)Sang Don Kim
1.1K vistas15 diapositivas
[Td 2015]두근두근 asp.net 5(한상훈) por
[Td 2015]두근두근 asp.net 5(한상훈)[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)Sang Don Kim
1.1K vistas36 diapositivas
HB Smith에서는 AWS 이렇게 사용한다 por
HB Smith에서는 AWS 이렇게 사용한다HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다Jongwon Han
1.8K vistas37 diapositivas
가용성을 고려한 웹 서비스 인프라 설계 por
가용성을 고려한 웹 서비스 인프라 설계가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계Herren
1.5K vistas20 diapositivas
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈) por
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)Sang Don Kim
1.3K vistas37 diapositivas

Más contenido relacionado

La actualidad más candente

AWS Lambdas with a Static Outgoing IP por
AWS Lambdas with a Static Outgoing IPAWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IPJongwon Han
2.7K vistas22 diapositivas
크로스플랫폼으로 다시 태어난 ASP.NET Core por
크로스플랫폼으로 다시 태어난 ASP.NET Core크로스플랫폼으로 다시 태어난 ASP.NET Core
크로스플랫폼으로 다시 태어난 ASP.NET CoreSangHoon Han
3.4K vistas22 diapositivas
Serverless Architecture - 김현민 por
Serverless Architecture - 김현민Serverless Architecture - 김현민
Serverless Architecture - 김현민AWSKRUG - AWS한국사용자모임
3K vistas60 diapositivas
[DevOn 2013] Dynamic web proxy por
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy흥래 김
1.7K vistas58 diapositivas
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나 por
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나 AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나 AWSKRUG - AWS한국사용자모임
1.4K vistas16 diapositivas
Front-end Development with Ruby on Rails por
Front-end Development with Ruby on RailsFront-end Development with Ruby on Rails
Front-end Development with Ruby on Rails추근 문
3.5K vistas54 diapositivas

La actualidad más candente(20)

AWS Lambdas with a Static Outgoing IP por Jongwon Han
AWS Lambdas with a Static Outgoing IPAWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IP
Jongwon Han2.7K vistas
크로스플랫폼으로 다시 태어난 ASP.NET Core por SangHoon Han
크로스플랫폼으로 다시 태어난 ASP.NET Core크로스플랫폼으로 다시 태어난 ASP.NET Core
크로스플랫폼으로 다시 태어난 ASP.NET Core
SangHoon Han3.4K vistas
[DevOn 2013] Dynamic web proxy por 흥래 김
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
흥래 김1.7K vistas
Front-end Development with Ruby on Rails por 추근 문
Front-end Development with Ruby on RailsFront-end Development with Ruby on Rails
Front-end Development with Ruby on Rails
추근 문3.5K vistas
Spring boot + java 에코시스템 #1 por SeungHa Eom
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1
SeungHa Eom1.1K vistas
Service Worker 를 이용한 
Offline Web Application 구현 por 병태 정
Service Worker 를 이용한 
Offline Web Application 구현Service Worker 를 이용한 
Offline Web Application 구현
Service Worker 를 이용한 
Offline Web Application 구현
병태 정1.6K vistas
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기 por Jongwon Han
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Jongwon Han7.8K vistas
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle... por Jongwon Han
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
Jongwon Han833 vistas
NRISE 개발스택 por Moon Soo Kim
NRISE 개발스택NRISE 개발스택
NRISE 개발스택
Moon Soo Kim1.3K vistas
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다 por Jongwon Han
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
Jongwon Han341 vistas
20180124 스타트업부터 대기업까지 aws와 함께한 7년 por Jongwon Han
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년
Jongwon Han463 vistas
Crawling with AWS Lambda por Seungho Kim
Crawling with AWS LambdaCrawling with AWS Lambda
Crawling with AWS Lambda
Seungho Kim348 vistas
2014.04.24.nrise 개발환경 por Moon Soo Kim
2014.04.24.nrise 개발환경2014.04.24.nrise 개발환경
2014.04.24.nrise 개발환경
Moon Soo Kim919 vistas
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기 por SungChanHwang
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
SungChanHwang288 vistas
Travis CI 에서 CodeBuild 로 por Hyeon Ku Kang
Travis CI 에서 CodeBuild 로Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로
Hyeon Ku Kang158 vistas
[자바카페] Infra CI (2018) por 용호 최
[자바카페] Infra CI (2018)[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)
용호 최66 vistas
테드폴허브(올챙이) PostgreSQL 디비 확장하기 por cho hyun jong
테드폴허브(올챙이) PostgreSQL 디비 확장하기테드폴허브(올챙이) PostgreSQL 디비 확장하기
테드폴허브(올챙이) PostgreSQL 디비 확장하기
cho hyun jong634 vistas
Project TIMAT - infrastructure as code por Jesang Yoon
Project TIMAT - infrastructure as codeProject TIMAT - infrastructure as code
Project TIMAT - infrastructure as code
Jesang Yoon1.1K vistas

Similar a 임태현, IIS with ASP.NET

One ASP.NET por
One ASP.NETOne ASP.NET
One ASP.NETSangHoon Han
57 vistas20 diapositivas
개발자 지향 WAS : IBM WebSphere Liberty Server por
개발자 지향 WAS : IBM WebSphere Liberty Server개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty ServerJungWoon Lee
3.1K vistas35 diapositivas
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트) por
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)Amazon Web Services Korea
4.1K vistas65 diapositivas
빠르게훓어보는 Node.js와 Vert.x por
빠르게훓어보는 Node.js와 Vert.x빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.xTerry Cho
15.1K vistas51 diapositivas
웹:앱 기술 동향 por
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향ssuser0e53c8
40 vistas78 diapositivas
Web server por
Web serverWeb server
Web serverHerren
250 vistas25 diapositivas

Similar a 임태현, IIS with ASP.NET(20)

개발자 지향 WAS : IBM WebSphere Liberty Server por JungWoon Lee
개발자 지향 WAS : IBM WebSphere Liberty Server개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty Server
JungWoon Lee3.1K vistas
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트) por Amazon Web Services Korea
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
빠르게훓어보는 Node.js와 Vert.x por Terry Cho
빠르게훓어보는 Node.js와 Vert.x빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.x
Terry Cho15.1K vistas
웹:앱 기술 동향 por ssuser0e53c8
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
ssuser0e53c840 vistas
Web server por Herren
Web serverWeb server
Web server
Herren250 vistas
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌) por SangIn Choung
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
SangIn Choung1.9K vistas
시간당 수백만 요청을 처리하는 node.js 서버 운영기 - Playnode 2015 por Goonoo Kim
시간당 수백만 요청을 처리하는 node.js 서버 운영기 - Playnode 2015시간당 수백만 요청을 처리하는 node.js 서버 운영기 - Playnode 2015
시간당 수백만 요청을 처리하는 node.js 서버 운영기 - Playnode 2015
Goonoo Kim19.8K vistas
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning por Ji-Woong Choi
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning 클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
Ji-Woong Choi5.6K vistas
ASP.NET 4 New Features por SangHoon Han
ASP.NET 4 New FeaturesASP.NET 4 New Features
ASP.NET 4 New Features
SangHoon Han82 vistas
Node.js por ymtech
Node.jsNode.js
Node.js
ymtech1.6K vistas
어서 와~ ASP.NET Core는 처음이지? por SangHoon Han
어서 와~ ASP.NET Core는 처음이지?어서 와~ ASP.NET Core는 처음이지?
어서 와~ ASP.NET Core는 처음이지?
SangHoon Han341 vistas
오픈스택 기반 클라우드 서비스 구축 방안 및 사례 por SONG INSEOB
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB7.7K vistas
WAS와 웹서버 간단 정리 por ChangHyeon Bae
WAS와 웹서버 간단 정리WAS와 웹서버 간단 정리
WAS와 웹서버 간단 정리
ChangHyeon Bae1.3K vistas
04.실행환경 교육교재(화면처리) por Hankyo
04.실행환경 교육교재(화면처리)04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)
Hankyo818 vistas
서버학개론(백엔드 서버 개발자를 위한) por 수보 김
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
수보 김29.6K vistas
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D) por Ubuntu Korea Community
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현 por Hong Min Kim
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
Hong Min Kim338 vistas

임태현, IIS with ASP.NET

Notas del editor

  1. 웹서버, 어플리케이션 풀, 워커프로세스를 알게 되었다. 이제 IIS 가 어떻게 클라이언트에서 온 리퀘스트를 처리하는지 살펴보자. 이를 위해서 IIS 를 두가지 레이어로 나뉘어서 보자