- 이번 퀘스트에서는 웹 API 서버의 기초를 알아보겠습니다.
- HTTP Method
- node.js
http
modulereq
와res
객체
- MDN - Content-Type Header
- MDN - HTTP Methods
- MDN - MIME Type
- Postman
- HTTP Node.js Manual & Documentation
- HTTP의 GET과 POST 메소드는 어떻게 다른가요?
- 다른 HTTP 메소드에는 무엇이 있나요?
- HTTP 서버에 GET과 POST를 통해 데이터를 보내려면 어떻게 해야 하나요?
- HTTP 요청의
Content-Type
헤더는 무엇인가요? - Postman에서 POST 요청을 보내는 여러 가지 방법(
form-data
,x-www-form-urlencoded
,raw
,binary
) 각각은 어떤 용도를 가지고 있나요?
- HTTP 요청의
- node.js의
http
모듈을 통해 HTTP 요청을 처리할 때,req
와res
객체에는 어떤 정보가 담겨있을까요?- GET과 POST에 대한 처리 형태가 달라지는 이유는 무엇인가요?
- 만약 API 엔드포인트(URL)가 아주 많다고 한다면, HTTP POST 요청의
Content-Type
헤더에 따라 다른 방식으로 동작하는 서버를 어떻게 정리하면 좋을까요?- 그 밖에 서버가 요청들에 따라 공통적으로 처리하는 일에는 무엇이 있을까요? 이를 어떻게 정리하면 좋을까요?
- 다음의 동작을 하는 서버를 만들어 보세요.
- 브라우저의 주소창에
http://localhost:8080
을 치면Hello World!
를 응답하여 브라우저에 출력합니다. - 서버의
/foo
URL에bar
변수로 임의의 문자열을 GET 메소드로 보내면,Hello, [문자열]
을 출력합니다. - 서버의
/foo
URL에bar
키에 임의의 문자열 값을 갖는 JSON 객체를 POST 메소드로 보내면,Hello, [문자열]
을 출력합니다. - 서버의
/pic/upload
URL에 그림 파일을 POST 하면 서버에 보안상 적절한 방법으로 파일이 업로드 됩니다. - 서버의
/pic/show
URL을 GET 하면 브라우저에 위에 업로드한 그림이 뜹니다. - 서버의
/pic/download
URL을 GET 하면 브라우저에 위에 업로드한 그림이pic.jpg
라는 이름으로 다운로드 됩니다.
- 브라우저의 주소창에
- expressJS와 같은 외부 프레임워크를 사용하지 않고, node.js의 기본 모듈만을 사용해서 만들어 보세요.
- 처리하는 요청의 종류에 따라 공통적으로 나타나는 코드를 정리해 보세요.
- 서버가 파일 업로드를 지원할 때 보안상 주의할 점에는 무엇이 있을까요?