라이브러리
[PHP] EventHttp::setMaxBodySize - 최대 요청 본문 크기 설정
EventHttp::setMaxBodySize
EventHttp는 PHP의 HTTP 서버 라이브러리 중 하나로, 비동기 HTTP 요청을 처리할 수 있습니다. EventHttp::setMaxBodySize는 요청 본문(maximum body size) 크기를 설정하는 메소드입니다.
# 사용 이유
EventHttp::setMaxBodySize를 사용하는 이유는 다음과 같습니다.
* 요청 본문 크기가 너무 큰 경우, 서버가 오버로딩되는 것을 방지합니다.
* 요청 본문 크기 제한을 통해 DOS(Denial of Service) 공격을 방지할 수 있습니다.
# 예제
#hostingforum.kr
php
use SwooleHttpServer;
// EventHttp 서버 생성
$http = new Server("127.0.0.1", 9501);
// 요청 본문 크기 설정
$http->setMaxBodySize(1024 * 1024); // 1MB
// 요청 처리 함수
$http->on("request", function ($request, $response) {
$body = $request->getContent();
$response->write("요청 본문 크기: " . strlen($body));
$response->status(200);
$response->end();
});
// 서버 시작
$http->start();
# 예제 설명
위 예제에서, EventHttp 서버는 127.0.0.1 IP와 9501 포트에서 시작됩니다. 요청 본문 크기는 1MB로 설정되어 있습니다. 요청 처리 함수에서는 요청 본문 크기를 출력하고, 200 상태 코드를 반환합니다.
# 실습
실습을 위해, 다음 명령어를 실행하여 EventHttp 서버를 시작합니다.
#hostingforum.kr
bash
php example.php
이제, curl 명령어를 사용하여 요청 본문을 보내보겠습니다.
#hostingforum.kr
bash
curl -X POST -H "Content-Type: text/plain" -d "Hello, World!" http://127.0.0.1:9501/
요청 본문 크기는 13바이트로, 1MB 크기 제한을 넘지 않습니다. 따라서, 서버는 요청을 처리할 수 있습니다.
EventHttp::setMaxBodySize를 사용하는 방법
EventHttp::setMaxBodySize를 사용하는 방법은 다음과 같습니다.
1. EventHttp 서버를 생성합니다.
2. 요청 본문 크기 설정을 합니다.
3. 요청 처리 함수를 등록합니다.
4. 서버를 시작합니다.
참고 자료
* [EventHttp](https://www.swoole.co.uk/docs/modules/http)
* [setMaxBodySize](https://www.swoole.co.uk/docs/modules/http#setmaxbodysize)
이 문서는 EventHttp::setMaxBodySize의 사용 방법과 예제를 설명합니다. EventHttp::setMaxBodySize를 사용하여 요청 본문 크기를 제한하고, DOS 공격을 방지할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.