임베디드 HTTP 서버
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
임베디드 HTTP 서버는 임베디드 애플리케이션 내에서 사용되는 HTTP 서버로, 씬 클라이언트 인터페이스 제공, 개발 도구 제공, 정보 배포 및 획득, 웹 애플리케이션 개발 등에 활용된다. HTTP의 크로스 플랫폼 호환성, 방화벽 및 라우터 회피, 클라이언트 접근 용이성 등의 장점을 가지며, 홈 네트워크 및 유비쿼터스 컴퓨팅 환경에서 활용이 증가하고 있다. 제한된 자원, 최소 CPU 사용률, 크로스 컴파일 지원, 기존 애플리케이션과의 통합, 파일 시스템 부재 시 웹 페이지 제공, 모듈형 프로그래밍, 스레드 지원, 성능 고려 등 다양한 요구 사항을 충족해야 한다.
더 읽어볼만한 페이지
- 웹 서버 소프트웨어 - 인터넷 정보 서비스
인터넷 정보 서비스(IIS)는 마이크로소프트 윈도우 운영 체제에서 사용되는 웹 서버 소프트웨어이며, 액티브 서버 페이지(ASP) 지원, IPv6 지원, 모듈식 아키텍처, 보안 기능 강화 등을 통해 발전해 왔고, 다양한 인증 메커니즘과 .NET 프레임워크를 지원하며, 넷크래프트와 W3Techs의 조사에서 세계에서 두 번째 또는 세 번째로 널리 사용되는 웹 서버이다. - 웹 서버 소프트웨어 - 아파치 스트럿츠
아파치 스트럿츠는 자바 EE 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크로, MVC 아키텍처를 적용하여 웹 폼, 국제화, 현지화를 지원하며 서블릿 컨테이너 위에서 실행되지만 보안 취약성이 존재하고, 대한민국 및 일본에서도 사용된다.
임베디드 HTTP 서버 | |
---|---|
기본 정보 | |
종류 | 컴퓨터 프로그램 |
용도 | 웹 서버 기능 내장 |
특징 | 크기가 작다 자원 소비가 적다 특정 목적에 최적화 |
장점 | |
간편성 | 복잡한 설정 없이 웹 서버 기능 사용 가능 |
휴대성 | 작은 크기로 임베디드 시스템에 적합 |
효율성 | 제한된 자원에서 최적의 성능 발휘 |
활용 분야 | |
임베디드 시스템 | IoT 장치 산업 자동화 홈 자동화 |
웹 애플리케이션 개발 | 간단한 웹 서버 테스트 서버 |
프로토타입 개발 | 아이디어 검증 및 PoC 제작 |
예시 | |
예시 | MicroPython Node.js ESP32 아두이노 |
2. 사용 예시
임베디드 웹 서버(EWS)는 http 외에도 ftp 프로토콜 등을 사용하여 다양한 애플리케이션 및 하드웨어 기반 시스템 수준의 네트워크를 구현한다. 임베디드 애플리케이션 내에서 다음과 같이 활용된다.
2. 1. 씬 클라이언트 인터페이스 제공
전통적인 애플리케이션을 위한 씬 클라이언트 인터페이스를 제공한다.2. 2. 개발 도구 제공
개발 단계에서 인덱싱, 보고서 생성 및 디버깅 도구를 제공한다.2. 3. 정보 배포 및 획득
정규 인터페이스에 표시될 정보를 배포하고 획득하기 위한 프로토콜 구현에는 웹 서비스가 사용될 수 있으며, XML을 데이터 형식으로 사용할 수도 있다.2. 4. 웹 애플리케이션 개발
- 전통적인 애플리케이션을 위한 씬 클라이언트 인터페이스를 제공한다.
- 개발 단계에서 인덱싱, 보고서 생성 및 디버깅 도구를 제공한다.
- 정규 인터페이스에 표시될 정보의 배포 및 획득을 위한 프로토콜을 구현한다. 웹 서비스일 수 있으며, XML을 데이터 형식으로 사용할 수도 있다.
- 웹 애플리케이션 개발에 활용된다.
3. 장점
3. 1. 크로스 플랫폼 호환성
HTTP는 크로스 플랫폼 프로토콜이며, 잘 연구되어 성숙된 구현체들을 자유롭게 사용할 수 있다.[1]3. 2. 방화벽 및 라우터 회피
HTTP는 방화벽과 인트라넷 라우터에 의해 차단되는 경우가 드물다.[1]3. 3. 클라이언트 접근 용이성
웹 브라우저와 같은 HTTP 클라이언트는 모든 최신 컴퓨터에서 쉽게 사용할 수 있다.[1]3. 4. 홈 네트워크 및 유비쿼터스 컴퓨팅
홈 네트워크 및 유비쿼터스 컴퓨팅의 증가 추세와 병행하여, 응용 프로그램에서 임베디드 HTTP 서버를 사용하는 경향이 증가하고 있다.[1]4. 일반적인 요구 사항
임베디드 HTTP 서버가 실행되는 플랫폼의 자연적인 제약은 임베디드 HTTP 서버의 비기능적 요구 사항에 영향을 미친다. 주요 요구 사항은 다음과 같다.
요구 사항 | 설명 |
---|---|
작은 RAM 및 ROM 공간 | 시스템에 따라 다르지만, 보통 수 메가바이트를 초과하면 임베디드하기 어렵다. |
최소 CPU 사용률 | 임베디드 시스템은 여러 작업을 동시에 실행하며, HTTP 서버는 우선순위가 낮을 수 있어 성능이 중요하다. |
크로스 컴파일 지원 | 여러 CPU 및 운영 체제 조합 지원. |
기존 애플리케이션과의 통합 | 운영 체제 및 응용 프로그램과의 정적 연결 등 쉬운 통합 지원. |
파일 시스템 부재 시 웹 페이지 제공 | 응용 소프트웨어 컴퓨터 메모리에서 웹 페이지 제공. |
모듈형 프로그래밍 | 제한된 자원에서 시스템 설계자의 선택을 돕는 중요한 요소. |
단일 스레드 및 멀티스레드 지원 |
특정 프로젝트에 따라 요구 사항은 크게 다를 수 있다. 예를 들어 ROM 및 RAM 공간 제약은 시스템 설계에 큰 영향을 미칠 수 있으며, C++ 또는 JVM 사용 가능 여부도 또 다른 제약 조건이 될 수 있다.
4. 1. 제한된 자원
임베디드 HTTP 서버가 실행되는 플랫폼의 자연적인 제약은 임베디드 HTTP 서버의 비기능적 요구 사항에 영향을 미친다. 이러한 요구 사항 중 일부는 다음과 같다.- "작은" RAM 및 ROM 공간. 정확한 크기는 시스템에 따라 다르지만, 많은 경우 수 메가바이트를 초과하면 임베디드 할 수 없다.
4. 2. 최소 CPU 사용률
임베디드 HTTP 서버는 실행되는 플랫폼의 제약으로 인해 여러 비기능적 요구 사항을 충족해야 하는데, 그중 하나가 CPU 사용률 최소화이다.일반적으로 임베디드 시스템은 여러 작업을 동시에 실행하며, HTTP 서버는 그중 우선순위가 낮은 태스크로 구성될 수 있어 성능이 중요해진다.
4. 3. 크로스 컴파일 지원
여러 CPU 및 운영 체제 조합에 대한 크로스 컴파일 지원이 필요하다.[1]4. 4. 기존 애플리케이션과의 통합
운영 체제 및 응용 프로그램과의 정적 연결을 포함하여 기존 응용 프로그램과의 쉬운 통합이 필요하다.4. 5. 파일 시스템 부재 시 웹 페이지 제공
파일 시스템이 없는 경우 웹 페이지를 응용 소프트웨어 컴퓨터 메모리에서 제공할 수 있다.4. 6. 모듈형 프로그래밍
모듈형 프로그래밍은 임베디드 HTTP 서버가 실행되는 플랫폼의 제약으로 인해 나타나는 비기능적 요구 사항 중 하나이다.[1] 모듈형 프로그래밍은 RAM 및 ROM 공간이 제한적인 환경에서 시스템 설계자의 선택을 제한할 수 있는 중요한 요소이다.[1] 전형적인 임베디드 시스템은 여러 동시 작업을 실행하고, HTTP 서버는 그 중 낮은 우선 순위 태스크로 구성될 수 있기 때문에, 성능 문제가 발생할 수 있으며, 이때 모듈형 프로그래밍이 도움이 될 수 있다.[1]4. 7. 스레드 지원
임베디드 HTTP 서버는 단일 스레드 및 멀티스레드 지원을 해야 한다.[1] 전형적인 임베디드 시스템은 여러 동시 작업을 실행하고, HTTP 서버는 그 중 하나이며 낮은 우선 순위 태스크로 구성될 수 있기 때문에 성능이 자주 문제가 된다.[1]4. 8. 성능 고려 사항
임베디드 HTTP 서버가 실행되는 플랫폼의 자연적인 제약은 임베디드 HTTP 서버의 비기능적 요구 사항에 영향을 미친다. 이러한 요구 사항에는 다음이 포함된다.- "작은" RAM 및 ROM 공간: 정확한 크기는 시스템에 따라 다르지만, 많은 경우 수 메가바이트를 초과하면 임베디드 할 수 없다.
- 최소한의 CPU 사용률.
- 여러 CPU 및 운영 체제 조합에 대한 크로스 컴파일 지원.
- 운영 체제 및 응용 프로그램과의 정적 연결을 포함하여 기존 응용 프로그램과의 쉬운 통합.
- 파일 시스템이 없는 경우 웹 페이지를 응용 소프트웨어 컴퓨터 메모리에서 제공.
- 모듈형 프로그래밍.
- 단일 스레드 및 멀티스레드 지원.
특정 프로젝트의 경우 요구 사항이 크게 다를 수 있다. 예를 들어, ROM 및 RAM 공간은 매우 심각한 제약 조건이 될 수 있으며 시스템 설계자의 선택을 제한할 수 있다. 시스템에서 C++ 또는 JVM의 가용성은 또 다른 제약 조건이 될 수 있다. 전형적인 임베디드 시스템은 여러 동시 작업을 실행하고 HTTP 서버가 그중 하나일 뿐이며 낮은 우선 순위 태스크로 구성될 수 있기 때문에 성능이 자주 문제가 된다.
참조
[1]
논문
Edge Computing Using Embedded Webserver with Mobile Device for Diagnosis and Prediction of Metastasis in Histopathological Images
[2]
웹사이트
Administering Security for Oracle HTTP server
https://docs.oracle.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com