웹서버 종류는 그닥 많치 않습니다. 우선 크게 아파치, IIS, Iplanet 정도만 아시면 될 것 같습니다.
1) 아파치(apache)
아파치는 쉽게 말하자면 가장 대중적인 웹서버로 무료이다 보니 많은 사람들이 사용하는 웹서버 입니다. 아파치는 여러번의 패치를 거친 NSCA 서버에서 시작되어서 이름이 아파치가 되었죠(패치가 된 웹서버라는 뜻인데 붙여서 읽으면 발음이 apache가 된다군요 ;;)
아파치의 가장 좋은 점은 소스코드까지 공짜로 얻을 수 있는 것 입니다.
아파치는 자바 서블릿을 지원하고, 실시간 모니터링, 자체 부하테스트등 여러가지 기능을 제공 합니다. 무료인거에 비해 성능이 괜찮아서 여전히 대형 사이트들을 제외하곤 아파치를 많이 사용 합니다. 아파치는 대부분의 OS에서 구동이 가능합니다.
아파치의 각 기능과 버전은 http://www.apache.org 에서 확인 가능 합니다.
2) IIS (Internet Information Server)
IIS는 MS사에서 WINDOW전용 웹서버로 개발한 서버 입니다. 그래서 공짜라 하기는 머하나 XP시디가 있다면 IIS를 설치 할 수 있습니다. 특징이라면 검색 엔진 , 스트리밍 오디오, 비디오 기능이 포함 되어 있습니다. 또한 예상되는 부하의 범위와 이에 대한 응답을 바탕으로 한 튜닝 기능도 포함되어 있습니다. 상업용 제품이라 여러가지 제약이 좀 따르는게 문제이지만 Windows에서 만큼은 가장 잘 돌아가는 웹서버라고 하겠습니다. 다른 OS에선 깔리지도 않겠죠 ㅎㅎㅎ
3) Iplanet (Sun One Java Web Server)
SUN사에서 개발한 Iplanet 웹서버는 주로 대형 사이트에서 사용하는 상용 웹서버 입니다.
버전은 현재 7.0 버전까지 나왔으나 현 사이트에서는 주로 6.0 버전과 6.1 버전을 많이 사용하고 있습니다.
Iplanet 웹서버는 http://www.sun.com 에서 다운로드 받아서 설치할 수 있습니다.
하지만 공개 release 버전과 라이센스가 있는 버전과의 기능과 성능은 큰 차이가 있습니다.
iplanet에서는 장점이라면 여러가지 기능 관리콘솔 제공 자체 jsp/servlet 엔진을 제공합니다. 대충 스펙을 보더라도 아파치나 IIS에 비해 월등하죠.. 그래서 대형 사이트에서 주로 iplanet을 사용합니다.
덧붙여 WAS(Web Application Server)라는 미들웨어가 있는데 이건 웹서버 뒷단에서 J2EE나 J2SE같은 Jsp/Servlet을 처리해주는 역할을 해줍니다.
WAS의 종류에는 Weblogic, Resin, Tomcat, Webspear, jeus등이 있습니다.
웹 서비스(Web Service)는 네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용을 하기 위한 소프트웨어 시스템이다. 웹 서비스는 서비스 지향적 분산 컴퓨팅 기술의 일종으로 SOAP, WSDL, UDDI 등의 주요 표준 기술로 이루어진다. 웹 서비스의 모든 메시징에는 주로 XML이 사용된다. -Wikipedia-
Web Service 주요 구성요소 -SOAP-
SOAP (Simple Object Access Protocol) : XML과 HTTP등을 기본으로 하여 다른 컴퓨터에 있는 데이터나 서비스를 호출하기 위한 통신규약(Protocol)이다. SOAP을 지원하는 서버가 대중화가 되면서 대부분의 SOAP 서버들을 웹에서 Access가 가능해졌으며 당양한 프로그램언어에서도 쉽게 실행할 수 있게 되었다.
▶ Web Service 주요 구성요소 -UDDI-
UDDI (Universal Description, Discovery, and Integration) : 개방형 표준과 비독점적 기술을 기반으로 개발된 전역 비즈니스 레지스터리이다. 이 레지스터리를 이용하여 다양한 웹서비스를 사용자는 쉽게 검색하여 사용할 수 있다.
Web Service 주요 구성요소 -WSDL
WSDL (Web Service Discription Language) : 웹서비스에서 제공하는 기능들(서비스 오퍼레이션에 해당함)을 외부에서 이용할 수 있도록 그 사용방법을 알려주는 인터페이스 언어로 XML 기반으로 작성된다.
IP 주소란 TCP/IP 프로토콜을 사용하여 통신을 할 때, 송신자와 수신자를 구별하기 위한 고유의 주소를 말한다. 그리고 인터넷에 연결된 모든 통신망과 그 통신망에 연결된 컴퓨터에 부여되는 고유의 식별 주소를 의미한다.
이 주소는 내부에서 32비트(4byte)로 기억되지만 표기할 때에는 4개의 10진수를 점(.)으로 구분하여 표시한다.
32비트로 구성된 IP주소는 모두다 동일하게 구분되는 것이 아니라 네트워크 부분과 호스트 부분으로 구분된다.
네트워크 부분은 통신을 위해서 데이터를 전송 하였을 때 라우터를 거치지 않고 전송이 가능한 영역이다. 이런 영역을 브로트 캐스트 영역이라고 한다.
호스트 부분은 각각의 PC를 나타낸다.
이해하기 쉽게 설명하면 네트워크 부분은 전화번호의 지역번호에 해당하고 호스트 부분은 그외 번호라고 이해하면 쉽다.네트워크 부분과 호스트 부분을 나누는 방법은 미리 정해져 있고 그것을 IP주소의 클래스 라고 한다.
클래스는 IP주소는 통신망의 크기, 즉 통신망에 연결되는 컴퓨터의 수에 따라 A,B,C,D 클래스로 구분한다.
A클래스는255.0.0.0 으로 1바이트의 Network 부분과 3바이트의 HOST 부분을 사용한다.
B클래스는255.255.0.0 으로 2바이트의 Network 부분과 2바이트의 HOST 부분을 사용한다.
C클래스는255.255.255.0으로 3바이트의 Network 부분과 1바이트의 HOST 부분을 사용한다.
D클래스는 4바이트 모두 멀티캐스트 주소로 사용한다..
그리고 0과 255의 HOST ID는 예약되어 있기 때문에 사용할 수 없다.
예를 들어 C클래스의 경우 192.168.10.0과 192.168.10.255는 사용할 수 없다.
그리고 루프백 주소(Loop Back Adress)가 있다. 루프백 주소란 첫 번째 바이트가 127인 IP주소를 의미한다. IP주소가 127.x.x.x 이면 루프백 주소 이다.
통상적으로 디버깅을 목적으로 네트워크 상에서 자기 자신을 나타내는 주소를 말한다.
localhost 로 불리는 IP주소는 127.0.0.1을 사용하고 루프백 사용으로 예약되어 있는 A클래스의 주소는 127.0.0.0 이다.
PC에서 프로토콜을 처리 할 때 는 127로 시작하는 IP주소를 담은 각각의 패킷을 외부 네트워크 쪽으로 전송하지 않는다. 또한 라우터 에서도 이를 전송하지 않는다.
Port 포트
포트란 호스트 내에서 실행되고 있는 프로세스를 구분짓기 위한 16비트의 논리적 할당 이다. 0~65536개의 갯수를 가진다.
간단하게 설명하면 IP주소는 컴퓨터를 찾을 때 필요한 주소를 나타내며, 포트는 컴퓨터 안에서 프로그램을 찾을 때 를 나타내는 것이다.
다시 예를들어 PC의 IP주소가 192.168.10.20 이라고 하면 컴퓨터에서 FTP로 자료를 받을 때 사용하는 IP주소는 자신의 주소인 192.168.10.20이고 채팅을 할 때의 IP주소도 192.168.10.20이다. FTP서버와 채팅 서버가 각각 패킷을 192.168.10.20 주소로 보내려고 하면 서로 혼동이 생기게 된다. 그 IP주소를 사용하는 프로그램이 하나가 아닌 것이다.
그래서 포트번호가 생겼고, FTP서버가 포트 9000을 사용하면 채팅 서버는 포트 9001을 사용함으로 써 프로세스를 구분한다.
컴퓨터의 주소가 IP주소이며, 프로그램의 주소가 포트 번호 이다.
TCP/IP 의 상위 프로토콜을 사용하는 응용프로그램에서는 인터넷번호 할당 허가위원회(IANA)에 의해 미리 지정된 포트번호들을 가지고 있다. 이런 포트번호들은 '잘 알려진 포트들' 이라고 불린다. 다은 응용프로그램 프로세스들은 접속할 때만다 포트번호가 새로 부여된다. 포트번호는 0부터 65535 까지이며, 0부터 1023까지는 어떤 특권을 가진 서비스에 의해 사용될 수 있도록 예약되어 있다. HTTP서비스를 위해서는 대개 80번 포트가 지정된다.
etc
2012년 현재 인터넷에 연결된 컴퓨터나 모바일 기기등에 할당된 IP주소는 거의 대부분 IPv4(IP version4)형태이다. 이 IPv4의 주소 체계는 3자리 숫자가 4마디로 표현된다. 따라서 IPv4체계의 IP주소로는 0.0.0.0부터 255.255.255.255까지 2의 32제곱, 약 42억 개의 주소를 사용할 수 있다. 숫자로 보면 IP주소가 많은 듯 하지만, 점차 IP주소 고갈 현상이 나타나고 있다.전 세계 컴퓨터를 비롯한 다양한 기기가 고유한 IP주소를 가져야 하기 때문이다.
이와 같은 IP주소 부족 문제를 해결하기 위해 제안된 새로운 IP주소 체계가 IPv6 다. 이는 IPv4가 32개의 이진수로 처리하던 IP주소를 128개의 이진수 (128비트)로 처리하게 된다. 따라서, 2의 128제곱인 약 3.4 X 10³² 에 해당하는 IP주소를 사용할 수 있게 된다. 한 마디로 거의 무한대로 사용할 수 있다. 이렇게 되면 비단 컴퓨터 관련 기기뿐 아니라, 냉장고, TV, 세탁기, 전자레인지 등 일반 가전에도 IP주소를 부여할 수 있어 각 기기 간의 통신이 가능해 진다.(이러한 통신 환경을 일컬어 '유비쿼터스' (Ubiquious) 라고도 한다.)
IP주소에 따라오는 서브넷 마스크 라는 것이 있다. 네트워크에 연결되려면 이 두 정보는 반드시 짝을 이뤄 입력 되어야 한다.
서브넷 마스크라는 용어를 풀어 보면 '하위(sub) 네트워크(net)를 구분하는 표기(mask)법' 이라 할 수 있다.
네트워크 구역을 정확하게 구분하는데 사용된다. 즉, 같은 IP주소 대역이라도 네트워크를 A,B,C 등의 구역으로 나눌 수 있는데, 이를 구분하는 기준이라는 것이다. 따라서 IP주소가 정확하더라도 서브넷 마스크가 틀리면 인터넷 접속이 불가능 하다. 서브넷 마스크는 일반적으로 255.0.0.0(클래스 A) 또는 255.255.0.0(클래스 B) 또는 255.255.255.0(클래스 C) 등의 형식으로 표현된다.
WAS는 웹이 탄생한 이래, 주로 데이터베이스 조회나 일반적인 비즈니스 로직에 대한 처리를 위해 다양한 언어로 개발된 인터넷/인트라넷 환경의 소프트웨어를 지칭한다.
자바스크립트나 JSP 등과 같은 스크립트 및 서비스들은 대개 최신의 데이터를 검색하기 위해 데이터베이스에 접근하고, 브라우저 또는 클라이언트 프로그램을 통해 사용자들에게 검색 결과를 제공한다.
WAS를 비롯한 애플리케이션 서버들은, 웹서버 즉 HTTP 서버와 같은 컴퓨터를 공유할 수도 있지만, 별개의 컴퓨터를 독립적으로 사용하는 경우도 많다. 대규모 사이트에서는, 오히려 WAS와 웹서버 등을 위해 여러 대의 컴퓨터가 동원되기도 한다. 넷스케이프의 Netscape Application Server, BEA의 Weblogic Enterprise, 볼랜드의 AppServer, 그리고 IBM의 Websphere Application Server 등이 WAS의 대표적인 제품들이다.