Download presentation
Presentation is loading. Please wait.
Published by준용 임 Modified 8년 전
1
웹 서버 구축 2011.3.11 숭의여대 인터넷정보과 최지영
2
웹 ? 웹사이트 ? 웹서버 ? 웹서비스 ? IIS? 아파치 ?
3
1989 년 3 월 유럽 입자 물리 연구소 (CERN) 의 소프트웨어 공학자인 팀 버너 스 리의 제안으로 시작되어 연구, 개발 많은 서비스 중에서 일반 사용자들이 사용하기 가장 쉽기 때문에 인터넷 = WEB 이라는 등식이 성립된 것 처럼 보이게 된 것 ( But! 당신이 일반사용자라면, 그런 생각도 괜찮지만, 개발자에 조금이라도 속한다면, 다르다고 인식해야 한다.) 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 전 세계 적인 정보 공간 간단히 웹 (Web) 이라 지칭. 이 용어는 인터넷과 동의어로 쓰이는 경우가 많 으나 엄격히 말해 서로 다른 개념. 웹은 전자 메일과 같이 인터넷 상에서 동 작하는 하나의 서비스임. 관리 기관 : 월드 와이드 웹에 관련된 기술은 월드 와이드 웹 컨소시엄 (W3C) 이 개발. W3C 는 HTML, HTTP 등의 표준화를 진행하고 있으며, 최근에는 시 맨틱 웹에 관련된 표준을 제정 WorldWideWeb, WWW, W3
4
오른쪽의 그림은 국내의 인터넷 망 들이 서로 어떻게 묶여있는지를 주고 있다. 인터넷 : 거미줄 (Web) 처럼 복잡 하게 묶여서 서로서로 연결된 것 인터넷의 서비스 중에 몇 가지만 을 브라우저로 이용 웹 (WEB) 서비스 : 인터넷 망을 이 용하는 수많은 서비스들이 존재하 는 데 그 중 하나
5
방송국에서 방송을 서비스하는 것이고, 사용자는 그 서비스를 이용하는 것이다. 방송을 듣고 싶은 사람은 라디오를 사서 해당 방송국에 주파수를 맞 추어여야 한다. 사용자는 웹서비스를 이용하기 위하여 웹브라우저 (Web Browser) 가 필요하고, 웹브라우저에게 방송의 주파수를 위하여 www.yahoo.co.kr 과 같은 주 소를 입력하게 되면, 웹서비스에서 제공하는 문서 (HTML) 를 조회할 수 있게 되는 것이다. 그럼 이러한 웹 서비스의 주체는 무엇인가 ? 웹 서비스 서비스
6
웹 서버 ( 소프트웨어 ) – 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지에서 흔히 찾아 볼 수 있는 자료 콘텐츠에 따라 HTTP 에 반 응하는 컴퓨터 프로그램 웹 서버 ( 하드웨어 ) – 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터 웹 브라우져를 이용하여 WWW 을 사용하는 클라이언트에게 이미 저 장된 하이퍼텍스트를 제곻하는 서버를 지칭함 주로 사용되는 서버에는 MS 기반의 IIS 서버와 유닉스 기반의 아파치 서버가 있음. 웹서버 ( 위키피디아 )
7
자세히 보면 … 웹서버 !
8
웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것이다. 이는 HTML 문서뿐 아니라 문서에 들어갈 수 있는 기타 부가 내용 ( 그 림, 스타일 시트, 자바스크립트 등 ) 의 전달을 말한다. 흔히 웹 브라우저 또는 웹 크롤러로 부르는 클라이언트는 HTTP 를 사 용하여 특정 리소스 요청을 하며 통신을 시작하고 서버는 해당 리소 스의 콘텐츠를 가져다 주며 응답한다. 주된 기능이 콘텐츠를 전달하는 것이지만 클라이언트로부터 콘텐츠 를 받는 것 자체도 해당 기능에 속한다. 이러한 기능은 파일의 업로드 를 포함한 웹 폼 제출에 쓰인다. 잘 자리잡힌 웹 서버는 프린터, 라우터, IP 카메라와 같은 기기에서 볼 수 있으며 친숙한 사용자 인터페이스를 웹 페이지 형태로 이용하여 관리를 쉽게 하기 위해 존재한다. 웹서버의 개요
9
NCSA server CERN server Apache server Netscape Enterprise server(Iplanet Web Server) IIS(Internet Information server) AOL server 웹서버의 종류
10
1995 년 처음 발표된 월드와이드웹 (WWW:World Wide Web) 서버용 소프트웨어 NCSA(National Center for Supercomputing Applications: 미국국립수퍼컴퓨터활용센 터 ) 소속 개발자들이 개발한 NCSA httpd 1.3 웹서버를 자신들이 개량한 것으로 소스코 드까지 공개 NCSA httpd 1.3 서버에 패치 (patch) 파일을 제공했던 개발자들이 'A PAtCH server' 라는 용어에서 아파치라는 이름을 가져옴 1995 년 3 월 18 일 공개된 아파치 0.2 가 NCSA httpd 1.3 에 패치파일을 제공 패치파일을 꾸준히 개선해 제공하고 있으며, 최고 수준의 성능을 발휘하기 때문에 월 드와이드웹 서버용 소프트웨어로 가장 많이 사용 오픈소스 (open source) 라이선스에 따라 무료로 배포되어 원하는 사람들이 자유롭게 사용. 유닉스 · 윈도 등을 비롯해 거의 모든 운영체제와 시스템에서 운용이 가능하다. 아파치소프트웨어재단 (Apache Software Foundation) 이라는 단체가 오픈소스 프로젝 트의 아파치 커뮤니티를 지원, 이 재단은 아파치 인큐베이터 프로젝트 · 아파치 앤트 프 로젝트 등의 아파치 프로젝트를 진행중 Apache
11
미국 마이크로소프트사가 개발한 인터넷 / 인트라넷용 서버 소프트웨어. 버전 2.0 부터 윈도즈 NT 서버에 표준으로 첨부 운영 체계 (OS) 와 통합된 것으로 복잡한 절차 없이 월 드 와이드 웹 서버를 본체와 기능 확장 모듈로 구성되는데 하이퍼텍스트 전송 규약 (HTTP), 파일 전송 규약 (FTP), 고퍼 (Gopher) 의 각 서비스 및 ASP(Active Server Pages) 의 문서 검색 기능, 월드 와이드 웹 (WWW) 페이지 작 성 기능 등을 제공 데이터베이스나 그룹웨어와 연계해서 SSL(Secure Sockets Layer) 보안성에도 대응 IIS(Internet Information Server)
12
주로 대형 사이트에서 사용하는 상용 웹서버 넷스케이프 서버에는 보안 기능을 지원하는 SSL 이 포함 된 상용 서버와 보안 기능이 포함되지 않은 통신 서버, 방 화벽 (firewall) 내에서도 운용 가능하고 보완성이 강화된 프록시 (proxy) 서버 등으로 구성되어 있음 서버명이 Iplanet 으로 바뀜 버전은 현재 7.0 버전까지 나와있으나, 현 사이트에서는 주로 6.0 버전과 6.1 버전을 많이 사용하고 있음 Netscape Enterprise Server
13
http://i-guacu.com/266 주요 웹서비스와 서버종류
14
먼저, 웹서비스를 이용하는 사용자는 다음과 같은 형태의 문서를 웹 브라우저 (Browser) 를 통해서 요청하게 되면, server.domain 이라는 인터넷 주소를 가지고 웹 서버를 찾는 다. 찾은 웹서버에게 user 디렉토리 밑에 있는 index.html 이 라는 문서를 달라고 요청. 웹서버는 그 문서를 찾아서 요청한 사람 ( 웹브라우저 ) 에게 전송. 웹의 동작방식 1 http://server.domain/user/index.html
15
먼저 사용자가 브라우저의 주소란에 http://www.xxx.com/xxx/a.html 이라고 입력한다. 브라우저는 먼저 www.xxx.com 이라는 도메인 네임을 가지고 도메인서버를 찾아가서, IP 주소를 받아온다. 이제 브라우저는 IP 주소를 가지고 HTTP 로 연결 (Connect) 을 설정한다. HTTP 로 웹 서버에 연결이 되면, 브라우저는 이제 /xxx/a.html 이라는 문서를 웹 서버에 게 요청 (Request) 한다. 웹서버는 자신이 설치된 환경 (Configuration) 에 따라서 /xxx/a.html 문서를 파일에서 찾 을지, 아니면, 실행을 시킨 결과를 얻어와야 하는지 등을 결정하고, 최종적으로 브라우 저가 원하는 문서를 만들어 낸다. 이제 웹서버는 최종 결과물을 브라우저로 전송한다.(Response) 브라우저는 전송받은 문서를 브라우저 창에 그리며, 웹서버는 HTTP 연결을 끝낸다 (Disconnect) 웹의 동작방식 2
16
서버 프로그램과 외부 프로그램과의 연계법 웹서버 프로그램의 기능은 클라이언트의 요구에 응답하여 정보를 보 내는 것인데, 이를 위해 서버 프로그램에서 다른 프로그램을 불러내 고, 그 처리 결과를 클라이언트에 송신하는 방법 CGI 는 환경변수나 표준입출력을 다룰 수 있는 프로그램 언어에서라 면 언어의 구별을 묻지 않고 확장하여 이용하는 것이 가능 실행속도나 텍스트 처리의 용이함 등의 의해 Perl 이 사용되는 경우가 많았다. 최근에는, Perl 에 더해져 Python, Ruby 등도 널리 사용 대표적인 App : 전자게시판, 접속 카운터, Wiki 나 Blog 시스템 등 근래에는, Web 서버의 프로세스로서 인터프리터를 상주시킴으로써, CGI 부터 프로그램을 호출해 오버헤드를 감소시켜, 퍼포먼스를 향상 시킨 Java Servlet 나 mod perl, mod php, FastCGI 등 출현FastCGI CGI 는 어디까지나 인터페이스이며, 특정 플랫폼에 의존하지 않고, 웹 서버 등으로부터 외부 프로그램을 호출하는 조합 CGI(Common Gateway Interface)
Similar presentations