보아 서버(1): 소개

임베디드 장치의 관리 및 상호작용에 있어서는 현재 웹 기반 애플리케이션이 주류가 되었으며, 이 프로그램 구조 역시 임베디드 장치에서 스크립트나 CGI 기능을 지원하는 웹을 실행하는 B/S 구조와 매우 유사하다. 서버는 동적 페이지를 생성할 수 있으며 클라이언트 측에서는 웹 브라우저를 통해서만 임베디드 장치를 관리하고 모니터링할 수 있어 매우 편리하고 실용적입니다. 이 글에서는 주로 BOA 서버의 작동 원리를 소개합니다.

1. 내장형 웹 서버

일반적인 임베디드 WEB 서버로는 lighttpd, shttpd, thttpd, boa, mathopd, minihttpd, appweb, goahead 등이 있습니다. 이 글에서는 주로 BOA 서버를 소개합니다.

실행 코드가 60KB 정도 되는 아주 작은 서버입니다. Unix나 Linux에서 실행되고 CGI를 지원하며 임베디드 시스템에 적합한 단일 작업 서버입니다. 의 http 서버는 오픈 소스 코드와 높은 성능을 갖추고 있습니다. 단일 작업 웹 서버이기 때문에 동시 링크 요청을 처리하기 위해 새 프로세스를 포크하지 않고 사용자 요청을 한 번만 완료할 수 있습니다.

그러나 BOA는 CGI를 지원하며 CGI 프로그램에 대한 프로세스를 포크하여 해당 고객 요청을 실행할 수 있습니다. 주요 기능은 상호 연결된 임베디드 장치 간에 정보를 교환하여 네트워크를 통해 임베디드 장치를 모니터링하고 피드백 정보를 주 제어 장치에 자동으로 업로드하는 것입니다.
HTTP Hypertext Transfer Protocol을 기반으로 하며 웹 페이지는 웹 서비스의 기본 전송 단위입니다.

내장형 웹 서비스는 웹 브라우저(클라이언트)와 웹 서버(서버)로 구성된클라이언트/서버 컴퓨팅 모델을 기반으로 작동합니다. ) 구조는 유명한 B/S 구조라고도 알려져 있습니다.

클라이언트에서 실행되는 브라우저는 먼저 내장 웹 서버 BOA와 연결을 설정하고 소켓 가상 파일을 열어야 합니다. 이 파일이 생성되면 SOCKET 연결이 성공적으로 설정되었음을 나타냅니다. 그런 다음 클라이언트 브라우저는 소켓을 통해 GET 또는 POST 매개변수를 사용합니다. SOCKET 전달 방식은 웹 서버에 요청을 제출하고, 웹 브라우저가 요청을 제출한 후 HTTP 프로토콜을 통해 웹 서버에 전송합니다.

웹 서버는 요청을 받은 후 요청에 따라 트랜잭션 처리를 수행하고 HTML 파일을 반환하거나 CGI를 통해 외부 애플리케이션을 호출하여 처리 결과를 반환합니다. 서버는 CGI를 통해 외부 응용 프로그램 및 스크립트와 상호 작용하며 클라이언트 브라우저가 요청할 때 사용하는 방법에 따라 서버는 클라이언트가 제공하는 정보를 수집하고 해당 정보의 일부를 지정된 CGI 확장으로 보냅니다.CGI 확장은 처리합니다. 정보를 수집하고 그 결과를 서버에 반환합니다. 그러면 서버는 정보를 분석하고 그 결과를 브라우저에 표시하기 위해 클라이언트에 다시 보냅니다.

2. 서버와 클라이언트 간 통신

서버와 클라이언트 사이의 통신은 클라이언트의 브라우저와 서버의 http 서버 사이의 HTTP 통신으로, 브라우저가 서버에서 어떤 CGI 프로그램을 실행하도록 요청하는지만 알면 됩니다. 자세히 알아볼 필요는 없습니다. 세부 사항에 대해. , 이러한 프로세스에는 프로그래머가 작동할 필요가 없다고 생각합니다. 우리가 걱정하는 것은 서버와 CGI 프로그램 간의 통신입니다.
일반적으로 서버와 CGI 프로그램 간의 통신은 표준 입출력을 통해 이루어지며 이 프로세스에는 환경 변수의 협력이 필요합니다.

  1. 서버는 URL을 애플리케이션으로 가리킵니다.
  2. 서버가 애플리케이션 실행을 준비합니다.
  3. 애플리케이션 실행, 표준 입출력 및 관련 환경 변수 읽기
  4. 표준 출력에 적용

참고: Windows 시스템의 경우 프로필 파일을 통해서도 데이터를 전송할 수 있습니다.
더 쉽게 말하면 웹페이지에 변수(환경변수)가 있고, 변수의 값. , 이 값을 어떤 방식으로든 cgi 프로그램에 전달하면 cgi 프로그램은 이 변수의 값을 추출하고 이 값을 기반으로 해당 처리를 수행합니다. 그런 다음 이 변수는 웹 페이지에서 cgi로 어떻게 전달됩니까? 프로그램?

3. 양식 제출

HTML에서는 고객이 양식을 작성하고 제출 버튼을 누르면 양식의 내용이 서버로 전송됩니다. 일반적으로 양식을 처리하려면 서버 측 스크립트가 필요합니다. 콘텐츠를 저장하거나 콘텐츠를 기반으로 일부 쿼리를 수행하는 등의 작업을 수행합니다. CGI가 없으면 WEB 세계는 상호작용성을 완전히 상실하고 모든 정보는 피드백 없이 일방향이 됩니다. 여기서는 양식에 대해 설명합니다.
양식은 HTML로 되어 있으며 주로 웹페이지의 데이터 수집 기능을 담당합니다.

양식에는 세 가지 기본 구성요소가 있습니다.
양식 태그: 여기에는 양식 데이터를 처리하는 데 사용되는 CGI 프로그램의 URL과 URL이 포함됩니다. 데이터가 제출되는 서버 방법.
양식 필드: 텍스트 상자, 비밀번호 상자, 숨겨진 필드, 여러 줄 텍스트 상자, 확인란, 라디오 버튼 상자, 드롭다운 선택 상자 및 파일 업로드 상자 등
양식 버튼: 제출 버튼, 재설정 버튼 및 일반 버튼을 포함하며 서버의 CGI 스크립트로 데이터를 전송하거나 입력을 취소하는 데 사용되며 양식을 사용할 수도 있습니다. 처리 스크립트가 정의된 다른 처리 작업을 제어하는 ​​버튼입니다.

이러한 경우 Dreamweaver를 열고 html을 생성하기만 하면 해당 양식 요소를 볼 수 있으며, 웹 페이지를 열 때 기본적으로 정보를 제출하려는 곳에 입력한 텍스트나 선택 항목 등이 표시됩니다. 요소(Elements) : 이러한 양식 요소(양식 항목)는 양식 내에 있어야 하며 전체 양식을 웹 페이지에서 볼 수는 없습니다. 섬기는 사람.

HTML은 정적 웹 페이지만 표시할 수 있고 서버 활동 데이터와 상호 작용할 수 없기 때문에 양식을 통해 서버와 상호 작용해야 합니다. 마치 은행에 가서 업무를 볼 때 양식에 많은 내용을 입력하도록 요청하는 것과 같습니다. 그런 다음 영업사원에게 양식을 제출합니다. , 그 테이블은 양식입니다. 이와 같은 웹 사이트 양식은 많은 사용자가 입력한 정보를 포함하고 서버에 제출되며, 서버는 입력된 정보를 얻어 해당 작업을 수행합니다.
여기에 이미지 설명을 삽입하세요.

그림은 html 파일의 코드 세그먼트를 보여줍니다.이것이 양식 제출 프로세스입니다.

여기서 "제출"은 양식 내용이고 내부 데이터는 지정된 URL로 제출됩니다(이 URL은 서버의 cgi 프로그램일 수 있으며 여기서는 login.cgi입니다).
URL: URL(Uniform Resource Locator)은 인터넷에서 사용할 수 있는 자원의 위치와 액세스 방법을 간결하게 표현한 것으로, 인터넷상의 표준 자원의 주소입니다. . 인터넷의 모든 파일에는 파일 위치와 브라우저가 해당 파일로 수행해야 하는 작업을 나타내는 정보가 포함된 고유한 URL이 있습니다.

4.HTML 웹페이지

웹페이지는 시청자에게 정보를 전달하는 전달체인 일반 텍스트 파일로, 하이퍼텍스트와 하이퍼미디어를 기술로 사용하고, HTML, CSS, XML 및 기타 언어를 사용하여 페이지를 구성하는 다양한 요소를 설명합니다. 텍스트, 이미지, 음악 등을 포함합니다. 그리고 클라이언트 브라우저에서 구문 분석하여 웹 페이지의 다양한 콘텐츠를 브라우저에 표시합니다. 완성된 웹페이지는 BOA 서버의 WWW 파일에 저장되며, 클라이언트 브라우저는 웹페이지를 요청하면 해당 페이지를 브라우저로 보냅니다.

おすすめ

転載: blog.csdn.net/weixin_44816664/article/details/134019733