2014-09-09 4 views
3

CGI 응용 프로그램과 웹 서비스 간의 주요 차이점은 누구에게 말해 줄 수 있습니까? 나는 인터넷 검색하고 있지만 더 나은 답변을 찾을 수 없습니다.CGI와 웹 서비스의 차이점

CGI가 webservice보다 먼저 발견되었음을 알고 있습니다.

답변

3

CGI (Common Gateway Interface)는 웹 서버가 동적 인 내용을 제공하기 위해 외부 응용 프로그램을 시작하고 응용 프로그램에 정보를 전달하는 방법입니다.

웹 서비스도 일종의 동적 콘텐츠이며 CGI 응용 프로그램 (또는 유사한 방법)을 사용하여 구현할 수 있습니다. 그러나 웹 서비스의 경우 내용은 기계 가독성 (XML)이며 엄격한 사양을 따라야합니다. 따라서 웹 서비스는 다른 프로그램에 의해 자동으로 사용되는 것을 목표로합니다.

CGI의 일반적인 개념은 오늘날에도 여전히 사용되지만, 모든 요청에 ​​대해 새로운 애플리케이션을 서버에서 시작해야하는 등의 몇 가지 단점이 있습니다. 요즘에는 모듈/플러그인을 스크립트 (예 : mod-php, mod-perl) 실행을 처리하는 웹 서버에로드하는 것이 일반적입니다. 파서가 한 번로드되고 요청 된 스크립트 만 실행하면됩니다.

+0

감사합니다. 그래서 여기서 내가 이해하는 것은 CGI의 경우에 우리는 어떤 응용 프로그램을 가지고 있거나 CGI를 통해 HTTP 요청으로부터 호출하거나 실행하는 API를 말할 수 있습니다. 그러나 webservice의 경우 전체 API/응용 프로그램 또는 일부를 클라이언트에 게시하고 있습니다. 제 질문은 CGI이고 웹 서비스는 완전히 교환 가능합니다. –

+1

번호 CGI는 웹 서버가 정적 파일을 제공하는 대신 URL 기반 응용 프로그램을 실행할 수있게 해주는 인터페이스입니다. 웹 서비스는 동적 인 응용 프로그램 (CGI 응용 프로그램 구현 - 또는 다른 웹 서버 API를 사용함)이지만 HTML을 입력/출력하지 않고 고유 한 API를 제공하는 특정 구문으로 XML을 사용합니다. 다음과 같이 작동합니다. 클라이언트가 웹 서버를 호출하면 CGI 응용 프로그램을 호출하고 요청 세부 정보로 서비스하고 클라이언트에 결과를 반환합니다. 웹 서비스는 그 위에 놓여 있습니다 (웹 서비스 데이터는 CGI 응용 프로그램의 페이로드입니다). – MrTux

+0

다시 한번 감사드립니다. 웹 서비스에 보안 문제가 있습니까? CGI는 프런트 엔드와 애플리케이션을 분리 할 때 더욱 안전하다고 생각합니다. 웹 서비스의 경우 응용 프로그램의 일부가 프런트 엔드에 노출됩니다. –

0

CGI 대 웹 서버 CGI (Common Gateway Interface)는 추가 응용 프로그램과 함께 웹 서버의 기능을 확장하기위한 표준 프로토콜로 도입되었습니다. 대부분의 CGI 응용 프로그램은 요청할 때마다 실행되는 간단한 실행 파일입니다. ColdFusion은보다 견고한 아키텍처를 사용합니다. ColdFusion Application Server는 다중 스레드 시스템 서비스로 실행되며 모든 복잡한 처리를 처리합니다. Application Server는 스텁 (cfml.exe)이라고하는 매우 작은 CGI 실행 파일 또는 기본 웹 서버 API를 통해 웹 서버와 통신합니다.

웹 서버가 개발됨에 따라 각 공급 업체는 해당 서버에 대한 API (Application Programming Interface)를 도입하고 구현했습니다. 기본 웹 서버 API는 추가 기능을 제공하고 성능을 크게 향상시킵니다. CGI 실행 파일을 시작하는 대신 API를 지원하는 서버는 DLL을 통해 ColdFusion 응용 프로그램 서버와 직접 통신합니다.

서버 API를 소개하는 것 외에도 많은 서버 공급 업체가 문서 형식 매핑을 만들었으므로 개별 문서 확장명을 프로세스와 연결할 수 있습니다. 이렇게하면 웹 서버의 루트 디렉토리에 직접 저장된 ColdFusion 응용 프로그램 페이지를 만들 수 있습니다.

  • 넷스케이프 API (NSAPI)
  • 인터넷 서버
  • API (ISAPI)
  • 웹 사이트의 API (WSAPI)
  • 아파치 API :

    ColdFusion은 다음과 같은 주요 기본 웹 서버 API를 지원

이러한 API와 문서 유형 매핑 이러한 서버에 의해 지원됩니다

  • 넷스케이프 엔터프라이즈 및 패스트 트랙 서버
  • 마이크로 소프트 IIS (모든 버전)
  • 홈페이지 (1.1 프로) 답에 대한
  • 아파치
  • 목록 항목