• 로그인
  • 장바구니에 상품이 없습니다.

두근두근 내 첫서버에서 GET 요청을 처리해보자

 

 

 

 

0:00 폴더 오픈 되어있는지 확인하고 코딩시작하자 (제발!)

0:35 포트 8080에 서버띄우기 

5:12 기본적인 GET 요청 처리하는 기계 만들기

 

 

 

오늘의 숙제 : 누군가 localhost:8080/beauty로 접속하면 '뷰티용품 사세요' 라는 안내문을 띄워주려면 어떻게해야할까요?

 

 

서버를 띄우기 위해 작성할 기본 템플릿

 

저번 강의에서 설치했던 express 라이브러리 사용법에 의하면 

(server.js 파일)

const express = require('express');
const app = express();

app.listen(8080, function() {
    console.log('listening on 8080')
})

 이렇게 쓰면 서버가 뜬다고 합니다.

굳이 해석해보자면 첫 두줄은 express 라이브러리 첨부와 사용,

밑에 app.listen()은 원하는 포트에 서버를 오픈하는 문법이라고 보시면 됩니다.

 

listen() 함수 안엔 두개의 파라미터가 필요합니다. 

listen(서버를 오픈할 포트번호, function(){서버 오픈시 실행할 코드})

이렇게 사용하면 되겠습니다,

 

위 코드를 잘 작성하고 New Terminal 눌러 터미널을 켜서 node server.js를 입력하면 서버가 뜹니다.

브라우저에서 localhost:8080 이라고 접속하면 확인가능합니다. 

 

 

 

 

포트가 뭐죠?

 

여러분 컴퓨터는 항상 외부 컴퓨터와 통신할 수 있게 설계되어있습니다.

랜선을 꽂거나 와이파이를 켜거나 하시면 다른 사람이 여러분 컴퓨터로 접속을 요청할 수도 있고 그렇습니다. 

컴퓨터는 외부와 통신할 수 있는 구멍이 60000개 정도 있습니다. 그리고 이걸 '포트'라고 부릅니다. 

평상시엔 막혀있는데, 여러분이 외부 컴퓨터 접속을 허가하려면 포트를 열어야합니다. 

예전엔

"세이클럽 채팅을 하려면 제 컴퓨터 아이피 주소를 치고 6900 포트로 들어오세요~"

이런 식으로 활용했었습니다. 

 

이와 비슷하게 우리는 무작위로 하나 고른 8080번째 포트를 사용해서 서버를 띄운 것일 뿐입니다. 

이제 외부 컴퓨터가 여러분 아이피 주소:8080이라고 입력하면 여러분 컴퓨터로 들어올 수 있는 것입니다.

 

 

 

 

콜백함수에 대해 알아보자

 

function(){} 이라는 문법은 자바스크립트로 함수를 하나 만들겠습니다~ 라는 뜻입니다.

function 함수이름( ){ }

보통 이렇게 만들어서 사용합니다.

 

그런데 위에서 작성한 코드는 이렇게 되어있습니다. 

.listen(서버를 오픈할 포트번호, function(){서버 오픈시 실행할 코드})

여기서 중요한 문법적 개념 중 하나가 바로 function(){} 부분입니다.

1. 그런데 위의 예제 코드에선 함수명을 작명하는 부분이 없고 function(){} 이렇게 사용하고 있고

2. listen()이라는 함수 안에 함수를 집어넣는 형태로 사용하고 있죠? 

이걸 자바스크립트에선 '콜백함수'라고 부릅니다. 

정의는 함수안에 들어가는 함수입니다. 그게 끝입니다.

 

 

문법시간이 아니니 원리는 패스하고 기능만 설명해드리겠습니다.

콜백함수를 왜 쓰냐면.. 자바스크립트에서 뭔가 순차적으로 실행하고 싶을 때 사용한다고만 아시면 되겠습니다.

listen() 이라는 함수를 동작시킨 다음에 function(){} 내에 있는 코드를 실행해주세요~ 라는 뜻으로 사용한 것입니다.

Node.js 특성상 코드를 연달아서 2개 적는다고 그 코드가 순차적으로 실행된다는 보장이 없기 때문에 (이전강의 참고)

뭔가 순차적으로 실행할 때 '함수안에 함수를 집어넣는 콜백함수'를 꼭 사용합니다.  

알겠죠? 순차적 실행이 목적이고 이 패턴을 눈에 익혀두시면 이제 서버만들 때 문법적으로 어려운게 전혀 없습니다. 

 

 

 

 

 

 

GET 요청을 처리하는 기계를 만들어보자

 

서버는 요청을 처리하는 기계라고 말씀드렸습니다.

그럼 요청을 어떻게 하냐면, 바로 브라우저를 켜서 주소창에 URL을 입력하시면 됩니다. 그게 가장 쉬운 요청방법입니다.

이 요청은 전문용어로 GET 요청이라고 합니다. 간단하게 주소창에 URL을 떄려박아서 요청할 수 있는 것이고요.

 

지금부터 뭘 만들건지 네이버로 예를 들면 .. 

swindow.naver.com/pet 으로 접속하면 펫용품 쇼핑페이지가 뜹니다.

swindow.naver.com/beauty 로 접속하면 뷰티용품 쇼핑페이지가 뜹니다.

우리도 이거랑 매우 유사하게 만들어볼겁니다.

 

 

그럼 누군가 우리 서버의 /pet 경로로 접속하면 '펫용품 사세요' 라는 안내메세지를 띄워주는 서버를 만들어보도록 합시다. 

 

app.get('/pet', function(요청, 응답) { 
  응답.send('펫용품 사시오')
})

이렇게 server.js 하단에 추가하시면 되겠습니다.

그럼 브라우저 켜서 localhost:8080/pet 이라고 접속하면 펫용품 사라는 안내문이 뜨죠?

(터미널에서 ctrl + c 누르시고 서버를 끈 다음 node server.js 입력해서 서버를 재시작하셔야합니다)

 

누군가 localhost:8080/beauty로 접속하면 '뷰티용품 사세요' 라는 안내문을 띄워주려면 어떻게해야할까요?

숙제로 해보십시오.

 

 

 

 

SEE ALL Add a note
YOU
Add your Comment

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠