Express. 서버의 요청 및 응답

MJ·2023년 7월 25일
0

Express

목록 보기
2/8
post-thumbnail

1.1 서버 요청

① package.json 파일 생성

npm 명령어로 패키지 파일을 생성할 때, -y 플래그를 사용하면 패키지 설치에 대한
질의 응답에 모두 yes로 응답합니다.

express 패키지 파일 설치

현재 디렉터리 경로에 package.json 파일이 존재하므로 express 패키지 파일이
의존성 파일로 목록에 표시됩니다.

구 버전 NPM에서 설치하는 경우 패키지를 설치할 때 --save 플래그를 붙여줘야 합니다.

③ express 패키지를 구성하는 객체들을 확인

express 패키지를 구성하는 객체들

④ express 서버 요청 받기


로컬(내 PC)에서 실행했기에 로컬 환경에서 포트번호를 입력하고, 요청을 할 수 있다.
하지만 현재 서버에서 응답할 콘텐츠가 없기에 오류가 발생합니다.

⑤ express.use() 메서드 사용

서버를 실행하고 사용자는 웹 사이트 URL에 실행된 서버로 접속합니다. (URL:포트번호)
app.use() 메서드는 사용자가 요청한 모든 정보에 대해 응답합니다. ( GET / POST 등 )

즉, use에 해당되는 메세지가 출력되는 것은 서버가 실행된 로컬 PC의 3000번 포트에
정상적으로 요청이 갔다는 의미입니다.


웹 페이지가 무한 로딩인 이유는 서버로부터 요청은 왔지만 응답할 컨텐츠가 없어서
지속적인 로딩 상태 입니다. ( 추후에 응답할 콘텐츠를 넣을 시 요청에 대한 응답을 한다 )

⭐ 포트 번호는 고유 번호이므로 서버를 여러 개 실행 한다면, 각 서버마다 포트의 번호가
달라야 합니다. ( 고유의 출입문 )


1.2 서버 응답

  • 사용자가 요청한 정보가 .use() 메서드 콜백함수 내의 req 매개변수에
    전달되고, res 매개변수가 요청에 대한 응답을 즉각 실행합니다.
    ( req, res의 이름은 변경해서 사용해도 상관은 없다 )

① 요청 및 응답에 관한 매개변수

서버에 들어오는 모든 요청은 express.use() 메서드에 파라매터로 전달됩니다.
첫 번째 인수(req)는 들어오는 요청을 의미하는 객체이고, 두 번째 인수(res)는 요청에
대한 응답을 하는 객체 입니다.

요청에 대한 정보를 콘솔.dir로 확인해보면 사용자가 접속한 url:포트번호와 어떤
정보를 요청하는지 확인할 수 있습니다.

사용자가 요청한 HTTP 정보는 Express로 인해서 JS 객체로 변환하고 express.use()
메서드의 콜백함수 첫 번째 인수(req)로 전달합니다.

② express.send() 메서드로 응답하기

express.send() 메서드는 사용자로부터 요청을 받으면 HTTP , 또는 JSON으로 응답.

③ postman으로 HTTP 응답 살펴보기

사용자가 요청한 정보에 대한 서버의 응답을 살펴보면 HTTP 응답인것을 확인할 수 있다.




HTTP 응답 이외에도 매개변수에 따라 Object HTML 정보를 응답할 수 있습니다.

profile
프론트엔드 개발자가 되기 위한 학습 과정을 정리하는 블로그

0개의 댓글