콘텐츠로 건너뛰기
Home » web server

web server

aiohttp에서 큰 파일을 업로드하는 법

웹브라우저를 비롯하여 HTTP를 사용하는 애플리케이션에서 서버로 파일을 업로드하려 할 때에는, 업로드하려는 파일은 이 요청의 botdy 부분에 붙여서 POST 요청으로 서버에 전달된다. 서버 사이드에서는 이러한 요청에서 첨부 파일을 얻기 위해서는 요청 본문을 파싱하여 처리한다. aiohttp에서는 다음과 같이 post를 처리하는 request.post()라는 핸들러를 사용해서 POST 요청의 데이터 본문을 얻게 된다. 폼 전송으로 전송된 파일은 HTTP multipart/form-data 방식으로 필드별로 구분하여 구분되기에 데이터 본문 중에서 파일에 해당하는 필드를 찾아서 데이터를 읽을 수 있다. 여기서 문제는 request.post() 메소드가 요청 데이터를 한꺼번에 메모리로 읽어들이기 때문에 메모리 부족으로… 더 보기 »aiohttp에서 큰 파일을 업로드하는 법

웹서버란 무엇인가

What is a web server?

웹서버는 많은 웹개발자들에게는 블랙박스나 마법의 상자 같은 물건인데, 실상 그것은 하나의 프로그램이다. 이 프로그램은 80번 포트에 소켓을 열고 이 포트를 통해 들어오는 HTTP 요청을 받아, 다시 응답을 보내주는 프로그램이다. 요즘의 웹서버들은 이런 기본적인 기능에 덧붙여 여러가지 부가기능들을 제공한다. 하지만 이러한 기능들은 모두 부가적인 것이며, 웹 서버의 본질은 HTTP 응답을 내보배는 것이다. 만약 에코서버를 작성해본 경험이 있다면 웹서버 역시 이러한 에코 서버와 크게 다르지 않다. 단지 들어오는 입력에 대해 좀 더 많은 손질을 해서 내보내는 것일 뿐이다. 더 보기 »웹서버란 무엇인가