Clang and Dart의 CGI (1)
그러나 아주 최근까지 서버 공간을 임대하고 CGI를 사용하여 동적 콘텐츠를 전달하는 것이 일반적이었습니다.
이 CGI에 대해 Dart와 함께 설명하겠습니다.
Clang and Dart의 CGI
또한 CGI는 Perl과 PHP를 자주 사용하지만 이 문서에서는 C언어와 Dart언어를 대상으로 한다.
CGI는 너무 간단합니다
React Vue Flutter, Lambda with Firebase 등 최근의 Serverless와 비교
배우기 쉬웠기 때문이라고 생각합니다.
CG 란 무엇입니까?
CGI는 공통 게이트웨이 인터페이스를 나타냅니다.
특히 서버와 외부 프로그램 간의 통신 방식을 결정합니다.
현재 인터페이스와 달리 매우 간단합니다.
견본
안녕하세요, 월드!! 클랑에서
// hello.c
// gcc hello.c -o hello.cgi
#include<stdio.h>
int main(int argc, char* argv[]) {
printf("Content-type: text/html\n\n");
printf("Hello,World!!\n");
return 0;
}
CGI용 Hello World 애플리케이션입니다.
이 앱은 명령어
./hello.cgi
를 입력하면,""
콘텐츠 유형: 텍스트/html
안녕하세요, 월드!!
""
그리고 콘솔에 문자열만 표시해주는 어플리케이션입니다.
Hello World 웹페이지 되기
그리고 이 애플리케이션은 Hello World 웹페이지가 됩니다.
브라우저에서 "http://example.com/hello.cgi "을 호출하면
"안녕, 월드!!"브라우저에 표시됩니다.
다음과 같이 서버에서 앱을 호출합니다.
CGI를 사용하면 응용 프로그램의 출력을 사용자에게 반환할 수 있습니다.
해보자
이 다트의 cgi 문서를 위한 도커 환경을 만들었습니다.
컨테이너 시작
$ git clone https://github.com/kyorohiro/dartlang_cgi.git
$ cd ./dartlang_cgi/001
$ docker-compose build
$ docker-compose up -d
Docker에서 VSCODE 열기
VSCode 시작
브라우저에서 vscode를 엽니다.
http://127.0.0.1:8443
※ 127.0.0.1은 도커 호스트입니다.
vscode에서 아파치 서버 시작
$ apache2
빌드 cgi
$ cd /app/www/cgi
$ gcc hello.c -o hello.cgi
$ dart2native hello_dart.dart -o hello_daet.cgi
테스트 cgi
http://127.0.0.1:8080/을 연 다음 ./app/www/index.html을 엽니다.
http://127.0.0.1:8080/cgi-bin/hello.cgi을 연 다음 ./app/cgi/hello.cgi 응용 프로그램을 실행합니다.
추신
Dart의 코드는 다음과 같습니다.
main(List<String> args) {
print("Content-type: text/html\n\n");
print("Hello,World From Dart!!\n");
return 0;
}
모든 코드
https://github.com/kyorohiro/dartlang_cgi
다음번
GET 또는 POST 또는 쿠키 또는 DB
Reference
이 문제에 관하여(Clang and Dart의 CGI (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kyorohiro/cgi-at-clang-and-dart-1-8jp
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Clang and Dart의 CGI (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kyorohiro/cgi-at-clang-and-dart-1-8jp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)