갈푸라떼
갈푸라떼는 개발중
갈푸라떼
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • CS (0)
      • CSinfo (0)
    • Frontend (15)
      • HTML,CSS (1)
      • Javascript (2)
      • React (0)
      • React Hook (12)
    • Backend (0)
      • Python (0)
      • Node.js (0)
      • php (0)
    • DB (2)
      • MySQL (2)
      • BigQuery (0)
      • Mongodb (0)
    • Study (186)
      • JavaScript (72)
      • JavaScript(Clean code) (50)
      • Node.js (11)
      • HTML,CSS (13)
      • React (30)
      • TypeScript (10)
      • React-Native (0)
    • Error (2)
      • error (2)
    • Git (22)
      • Git (22)
    • Help Coding (4)
      • Useful websites (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • Github

공지사항

인기 글

태그

  • 스코프 체인
  • symbol
  • SPREAD
  • 정적 레벨
  • 네이밍
  • 인터프리터
  • 컴파일러
  • 원시타입
  • 싱글스레드
  • 오버라이딩
  • nodemon
  • 프로토타입
  • 상속
  • function
  • structure
  • ECMAScript
  • Arrow
  • 호이스팅
  • prototype
  • 실행 컨텍스트
  • class
  • 심볼
  • 자바스크립트엔진
  • 렉시컬 환경
  • 객체타입
  • this
  • Babel
  • PM2
  • 이터러블
  • 함수

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갈푸라떼

갈푸라떼는 개발중

[Node.js_study] 서버에 GET 요청 처리 해보기
Study/Node.js

[Node.js_study] 서버에 GET 요청 처리 해보기

2022. 4. 15. 17:42

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

 

* 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(){ 서버 오픈시 실행할 코드 })

 

* 터미널을 켜서 node server.js를 입력하면 서버 실행된다.

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

 


Port(포트)란??

 

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

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

 

 

컴퓨터는 외부와 통신할 수 있는 통로가 총 65536개가 존재합니다. 그리고 이걸 'Port(포트)'라고 부릅니다. 

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

 

우리는 무작위로 하나 고른 8080번째 포트를 사용해서 서버를 띄웠으며 

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

 

1) Well-Known Ports ( 잘 알려진 포트 ) : 0번 ~ 1023번

 

 

2) Registered Ports ( 등록된 포트 ) : 1024번 ~ 49151번

 

3) Dynamic Ports ( 동적 포트 ) : 49152번 ~ 65535번

 

  • 사용자가 임의로 사용가능한 포트 번호

Callback function(콜백함수)에 대해

function 함수이름( ){ }

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

 

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

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

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

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

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

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

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

 

콜백함수를 왜 사용할까?

자바스크립트에서 뭔가 순차적으로 실행하고 싶을 때 사용한다.(순차적 실행이 목적)

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

Node.js 특성상 코드를 연달아서 2개 적는다고 그 코드가 순차적으로 실행된다는 보장이 없기 때문에 뭔가 순차적으로 실행할 때 '함수안에 함수를 집어넣는 콜백함수'를 꼭 사용합니다.  

 


* GET 요청을 처리하는 기계

서버는 요청을 처리하는 기계이다.

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

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

 

누군가 우리 서버의 /hello 경로로 접속하면 '안녕하세요' 라는 안내메세지를 띄워주는 서버를 만들 경우(연습)

app.get('/hello', function(req, res) { 
  res.send('안녕하세요')
})

 

이렇게 server.js 하단에 추가하면 된다.

그럼 브라우저 켜서 localhost:8080/hello 라고 접속하면 '안녕하세요'라는 멘트가 뜬다.

'Study > Node.js' 카테고리의 다른 글

[Node.js_study] 폼에 입력한 데이터를 서버에 전송하기 (POST요청)  (0) 2022.04.15
[Node.js_study] 서버에서 HTML 파일전송(GET요청)  (0) 2022.04.15
[Node.js_study] npm과 yarn의 차이  (0) 2022.04.15
[Node.js_study] Node.js와 Express 라이브러리 설치하기  (0) 2022.04.15
[Node.js_study] Node.js에 대해서 (Non-blocking I/O)  (0) 2022.04.15
    'Study/Node.js' 카테고리의 다른 글
    • [Node.js_study] 폼에 입력한 데이터를 서버에 전송하기 (POST요청)
    • [Node.js_study] 서버에서 HTML 파일전송(GET요청)
    • [Node.js_study] npm과 yarn의 차이
    • [Node.js_study] Node.js와 Express 라이브러리 설치하기
    갈푸라떼
    갈푸라떼

    티스토리툴바