모듈 기본 모듈

모듈 http

http 모듈은 HTTP 요청 및 응답 처리를 캡슐화하여 쉽게 http 서버를 생성하거나 클라이언트를 시뮬레이션하여 http 요청을 시작할 수 있도록 합니다. http 모듈을 사용하면 개발자는 HTTP 프로토콜과 관련된 코드를 쉽게 작성하고 처리할 수 있습니다.

다음은 웹 서버를 생성하고 hello world 응답을 반환하는 간단한 예입니다.

1 2 3 4 5 6 7
const http = require('http'); const server = new http.Server(8080, function(request) { request.response.write('Hello World!'); }); server.start();

이 예에서는 http 모듈을 도입한 다음 http 서버 개체를 정의하고 이를 로컬 8080 포트 번호에 바인딩합니다. 이 포트 번호로 요청이 전송되면 응답은 "Hello World!" 문자열로 설정됩니다.

동시에 http 모듈에는 클라이언트 개체도 포함되어 있습니다.http.Client쿠키를 캐시하고 방문 중에 저장하도록 브라우저 환경을 시뮬레이션합니다.url해당 쿠키 http 클라이언트 개체를 운반하는 경우. 당신은 그것을 사용할 수 있습니다http.Clienthttp 인터페이스 요청에 액세스하고, http 다운로드 및 일련의 http 관련 작업을 수행합니다. 아래는http.Client적용 예:

1 2 3 4
var http = require('http'); var httpClient = new http.Client(); httpClient.get('http://fibjs.org');

위의 예에서는http.Client그런 다음 get메소드를 호출하여 fibjs.org에 대한 http GET 요청을 시작합니다.

게다가,http.Clientcookies등과 같이 호출할 수 있는 몇 가지 다른 속성과 메서드가 있습니다.

https 모듈은 http 모듈의 별칭입니다. require('https')http 모듈을 사용할 수도 있습니다.

물체

Request

http 요청 객체를 생성합니다. 참조HttpRequest

1
HttpRequest http.Request;

Response

http 응답 객체를 생성합니다. 참조HttpResponse

1
HttpResponse http.Response;

http 쿠키 객체를 생성합니다. 참조HttpCookie

1
HttpCookie http.Cookie;

Server

http 서버를 생성합니다. 참조HttpServer

1
HttpServer http.Server;

Client

http 클라이언트를 생성합니다. 참조HttpClient

1
HttpClient http.Client;

HttpsServer

https 서버를 생성합니다. 참조HttpsServer

1
HttpsServer http.HttpsServer;

Handler

http 프로토콜 핸들러 객체를 생성합니다. 참조HttpHandler

1
HttpHandler http.Handler;

Repeater

http 요청 전달 핸들러 객체를 생성합니다. 참조HttpRepeater

1
HttpRepeater http.Repeater;

정적 함수

fileHandler

정적 파일로 http 메시지에 응답하는 http 정적 파일 프로세서를 만듭니다.

1 2 3
static Handler http.fileHandler(String root, Object mimes = {}, Boolean autoIndex = false);

호출 매개변수:

  • root: 문자열, 파일 루트 경로
  • mimes: 객체, 확장 MIME 설정
  • autoIndex: 부울, 디렉터리 파일 검색 지원 여부, 기본값은 false, 지원되지 않음

결과 반환:

  • Handler, http 메시지 처리를 위한 정적 파일 프로세서를 반환합니다.

fileHandler는 gzip 사전 압축을 지원하며 요청이 gzip 인코딩을 허용하고 filename.ext.gz 파일이 동일한 경로에 존재하는 경우 이 파일을 직접 반환하므로 반복 압축으로 인한 서버 부하를 방지합니다.


setClientCert

기본 클라이언트 인증서 설정

1 2
static http.setClientCert(X509Cert crt, PKey key);

호출 매개변수:

  • crt:X509Cert, 클라이언트를 확인하기 위해 서버로 보내는 데 사용되는 인증서
  • key:PKey, 클라이언트와 대화하는 데 사용되는 개인 키

request

지정된 스트림 객체에 http 요청을 보내고 결과를 반환합니다.

1 2
static HttpResponse http.request(Stream conn, HttpRequest req) async;

호출 매개변수:

결과 반환:


지정된 스트림 객체에 http 요청을 보내고 결과를 반환합니다.

1 2 3
static HttpResponse http.request(Stream conn, HttpRequest req, SeekableStream response_body) async;

호출 매개변수:

결과 반환:


지정된 요청url, 그리고 결과를 반환

1 2 3
static HttpResponse http.request(String method, String url, Object opts = {}) async;

호출 매개변수:

  • method: 문자열, http 요청 방법 지정: GET, POST 등
  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {}, "response_body": SeekableStream // specify response.body stream }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


GET 메소드를 사용하여 지정된 요청url, request("GET", ...)와 동일한 결과를 반환합니다.

1 2
static HttpResponse http.request(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


지정된 요청 옵션url, 그리고 결과를 반환

1
static HttpResponse http.request(Object opts) async;

호출 매개변수:

  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


get

GET 메소드를 사용하여 지정된 요청url, request("GET", ...)와 동일한 결과를 반환합니다.

1 2
static HttpResponse http.get(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


post

POST 메소드를 사용하여 지정된 요청url, request("POST", ...)와 동일한 결과를 반환합니다.

1 2
static HttpResponse http.post(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


del

DELETE 메소드를 사용하여 지정된 요청url, request("DELETE", ...)와 동일한 결과를 반환합니다.

1 2
static HttpResponse http.del(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


put

PUT 메소드를 사용하여 지정된 요청url, request("PUT", ...)와 동일한 결과를 반환합니다.

1 2
static HttpResponse http.put(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


patch

PATCH 메소드를 사용하여 지정된 요청url, request("PATCH", ...)와 동일한 결과를 반환합니다.

1 2
static HttpResponse http.patch(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.


HEAD 메소드를 사용하여 지정된 요청url, request("HEAD", ...)와 동일한 결과를 반환합니다.

1 2
static HttpResponse http.head(String url, Object opts = {}) async;

호출 매개변수:

  • url: 문자열, 지정url, 완전한 포함 호스트여야 합니다.url
  • opts: 객체, 추가 정보 지정

결과 반환:

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

그 중에는 신체,json, 팩은 동시에 나타나서는 안 됩니다. 기본값은 추가 정보를 포함하지 않는 {}입니다.

정적 속성

STATUS_CODES

Object는 표준 HTTP 응답 상태 코드 모음과 각각의 간단한 설명을 반환합니다.

1
static readonly Object http.STATUS_CODES;

cookies

NArray, http 클라이언트를 반환합니다.HttpCookie개체 목록

1
static readonly NArray http.cookies;

timeout

정수, 쿼리 및 시간 초과 설정

1
static Integer http.timeout;

enableCookie

부울, 쿠키 기능 스위치, 기본적으로 활성화됨

1
static Boolean http.enableCookie;

autoRedirect

부울, 자동 리디렉션 기능 스위치, 기본적으로 활성화됨

1
static Boolean http.autoRedirect;

enableEncoding

부울, 자동 압축 해제 기능 스위치, 기본적으로 활성화됨

1
static Boolean http.enableEncoding;

maxHeadersCount

정수, 요청 헤더의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.

1
static Integer http.maxHeadersCount;

maxHeaderSize

정수, 쿼리 및 최대 요청 헤더 길이 설정, 기본값은 8192

1
static Integer http.maxHeaderSize;

maxBodySize

정수, 쿼리 및 본문의 최대 크기 설정(MB), 기본값은 -1, 크기 제한 없음

1
static Integer http.maxBodySize;

userAgent

http 요청에서 문자열, 쿼리 및 브라우저 식별자 설정

1
static String http.userAgent;

poolSize

정수, 연결 유지 캐시 연결의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.

1
static Integer http.poolSize;

poolTimeout

정수, 쿼리 및 연결 유지 캐시 연결 시간 제한 설정(기본값 10000ms)

1
static Integer http.poolTimeout;

http_proxy

문자열, 쿼리 및 http 요청 프록시 설정, http/https/socks5 프록시 지원

1
static String http.http_proxy;

https_proxy

문자열, 쿼리 및 https 요청 프록시 설정, http/https/socks5 프록시 지원, 설정되지 않거나 비어 있는 경우 http_proxy가 재사용됩니다.

1
static String http.https_proxy;