🌱 → 🌳

[node.js] GET μš”μ²­ 처리 λ³Έλ¬Έ

Server/Node.js

[node.js] GET μš”μ²­ 처리

BAY 2022. 8. 25. 14:31
728x90

μ½”λ”©μ• ν”Œ κ°•μ˜λ₯Ό κΈ°λ°˜ν•˜μ—¬ κ³΅λΆ€ν•œ κΈ°λ‘μž…λ‹ˆλ‹€.

https://codingapple.com/

 

μ½”λ”©μ• ν”Œ 온라인 κ°•μ’Œ - κ°œλ°œμžλ„ 단기완성!

단연 NO1 κ°•μ‚¬λ‹˜μ˜ NO.1 κ°•μ˜ μ—­μ‹œλ‚˜ λͺ…κ°•μž…λ‹ˆλ‹€. IT μ—…κ³„μ˜ λŒ€μΉ˜λ™ NO1. 강사같은 μ—„μ²­λ‚œ κ°•μ˜λ ₯. μ½”λ”©μ• ν”Œλ‹˜μ˜ κ°•μ˜λŠ”, μ—„μ²­λ‚˜κ²Œ 기초적인 것뢀터 κ°€λ₯΄μΉ˜λŠ” λ“― λ³΄μ΄μ§€λ§Œ, μ‹€μ œλ‘œ λ‹€λ£¨λŠ” κΉŠμ΄λŠ” 절

codingapple.com

 

βœ… express 라이브러리 μ‚¬μš©λ²• 

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λž€?

μ»΄ν“¨ν„°λŠ” 항상 μ™ΈλΆ€ 컴퓨터와 톡신할 수 있게 μ„€κ³„λ˜μ–΄μžˆλ‹€.

λžœμ„ μ„ κ½‚κ±°λ‚˜ μ™€μ΄νŒŒμ΄λ₯Ό μΌœκ±°λ‚˜ ν•˜μ‹œλ©΄ λ‹€λ₯Έ μ‚¬λžŒμ΄ μ—¬λŸ¬λΆ„ μ»΄ν“¨ν„°λ‘œ 접속을 μš”μ²­ν•  μˆ˜λ„ μžˆλ‹€.

μ»΄ν“¨ν„°λŠ” 외뢀와 톡신할 수 μžˆλŠ” ꡬ멍이 60000개 정도 μžˆλŠ”λ° 이걸 '포트'라고 뢀름

ν‰μƒμ‹œμ—” λ§‰ν˜€μžˆλŠ”λ°, μ™ΈλΆ€ 컴퓨터 접속을 ν—ˆκ°€ν•˜λ €λ©΄ 포트λ₯Ό μ—΄μ–΄μ•Ό ν•œλ‹€.

μ˜ˆμ „μ—” "μ„Έμ΄ν΄λŸ½ μ±„νŒ…μ„ ν•˜λ €λ©΄ 제 컴퓨터 아이피 μ£Όμ†Œλ₯Ό 치고 6900 포트둜 λ“€μ–΄μ˜€μ„Έμš”~"

이런 μ‹μœΌλ‘œ ν™œμš©ν–ˆμŒ.

 

이와 λΉ„μŠ·ν•˜κ²Œ μš°λ¦¬λŠ” λ¬΄μž‘μœ„λ‘œ ν•˜λ‚˜ κ³ λ₯Έ 8080번째 포트λ₯Ό μ‚¬μš©ν•΄μ„œ μ„œλ²„λ₯Ό λ„μš΄ 것일 뿐

이제 μ™ΈλΆ€ 컴퓨터가 λ‚΄ 컴퓨터 아이피 μ£Όμ†Œ:8080이라고 μž…λ ₯ν•˜λ©΄ λ‚΄ μ»΄ν“¨ν„°λ‘œ λ“€μ–΄μ˜¬ 수 μžˆλŠ” 것

 

βœ… callback ν•¨μˆ˜λž€?

 

function(){} μ΄λΌλŠ” 문법은 μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ ν•¨μˆ˜λ₯Ό ν•˜λ‚˜ λ§Œλ“€κ² μŠ΅λ‹ˆλ‹€~ λΌλŠ” 뜻

function ν•¨μˆ˜μ΄λ¦„( ){ }

 

 

그런데 μœ„μ—μ„œ μž‘μ„±ν•œ μ½”λ“œλŠ” μ΄λ ‡κ²Œ λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€. 

.listen(μ„œλ²„λ₯Ό μ˜€ν”ˆν•  포트번호, function(){μ„œλ²„ μ˜€ν”ˆμ‹œ μ‹€ν–‰ν•  μ½”λ“œ})

μ—¬κΈ°μ„œ μ€‘μš”ν•œ 문법적 κ°œλ… 쀑 ν•˜λ‚˜κ°€ λ°”λ‘œ function(){} 뢀뢄이닀.

1. 그런데 μœ„μ˜ 예제 μ½”λ“œμ—μ„  ν•¨μˆ˜λͺ…을 μž‘λͺ…ν•˜λŠ” 뢀뢄이 μ—†κ³  function(){} μ΄λ ‡κ²Œ μ‚¬μš©ν•˜κ³  있고

2. listen()μ΄λΌλŠ” ν•¨μˆ˜ μ•ˆμ— ν•¨μˆ˜λ₯Ό μ§‘μ–΄λ„£λŠ” ν˜•νƒœλ‘œ μ‚¬μš©

이걸 μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„  'μ½œλ°±ν•¨μˆ˜'라고 λΆ€λ₯Έλ‹€.

μ •μ˜λŠ” ν•¨μˆ˜μ•ˆμ— λ“€μ–΄κ°€λŠ” ν•¨μˆ˜

 

μ½œλ°±ν•¨μˆ˜λ₯Ό μ“°λŠ” μ΄μœ λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λ­”κ°€ 순차적으둜 μ‹€ν–‰ν•˜κ³  싢을 λ•Œ μ‚¬μš©

listen() μ΄λΌλŠ” ν•¨μˆ˜λ₯Ό λ™μž‘μ‹œν‚¨ λ‹€μŒμ— function(){} 내에 μžˆλŠ” μ½”λ“œλ₯Ό μ‹€ν–‰ν•΄μ£Όμ„Έμš”~ λΌλŠ” 뜻으둜 μ‚¬μš©ν•œ 것

Node.js νŠΉμ„±μƒ μ½”λ“œλ₯Ό μ—°λ‹¬μ•„μ„œ 2개 μ λŠ”λ‹€κ³  κ·Έ μ½”λ“œκ°€ 순차적으둜 μ‹€ν–‰λœλ‹€λŠ” 보μž₯이 μ—†κΈ° λ•Œλ¬Έμ— 

λ­”κ°€ 순차적으둜 μ‹€ν–‰ν•  λ•Œ 'ν•¨μˆ˜μ•ˆμ— ν•¨μˆ˜λ₯Ό μ§‘μ–΄λ„£λŠ” μ½œλ°±ν•¨μˆ˜'λ₯Ό κΌ­ μ‚¬μš©ν•©λ‹ˆλ‹€.  

 

πŸ“Œ GET μš”μ²­ 처리 기계 λ§Œλ“€κΈ°

μ„œλ²„λŠ” μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” 기계이닀.

μš”μ²­μ„ μ–΄λ–»κ²Œ ν•˜λƒλ©΄, λ°”λ‘œ λΈŒλΌμš°μ €λ₯Ό μΌœμ„œ μ£Όμ†Œμ°½μ— URL을 μž…λ ₯

이 μš”μ²­μ€ μ „λ¬Έμš©μ–΄λ‘œ GET μš”μ²­μ΄λΌκ³  함. κ°„λ‹¨ν•˜κ²Œ μ£Όμ†Œμ°½μ— URL을 λ–„λ €λ°•μ•„μ„œ μš”μ²­ν•  수 μžˆλŠ” 것

 

우리 μ„œλ²„μ˜ /pet 경둜둜 μ ‘μ†ν•˜λ©΄ 'νŽ«μš©ν’ˆ μ‚¬μ„Έμš”' λΌλŠ” μ•ˆλ‚΄λ©”μ„Έμ§€λ₯Ό λ„μ›Œμ£ΌλŠ” μ„œλ²„λ₯Ό λ§Œλ“€μ–΄λ³΄μž. 

app.get('/pet', function(μš”μ²­, 응닡) { 
  응닡.send('νŽ«μš©ν’ˆ μ‚¬μ‹œμ˜€')
})

μ΄λ ‡κ²Œ server.js ν•˜λ‹¨μ— μΆ”κ°€ν•˜μ‹œλ©΄ λœλ‹€.

λΈŒλΌμš°μ € μΌœμ„œ localhost:8080/pet 이라고 μ ‘μ†ν•˜λ©΄ νŽ«μš©ν’ˆ μ‚¬λΌλŠ” μ•ˆλ‚΄λ¬Έμ΄ 뜸

(ν„°λ―Έλ„μ—μ„œ ctrl + c λˆ„λ₯΄μ‹œκ³  μ„œλ²„λ₯Ό 끈 λ‹€μŒ node server.js μž…λ ₯ν•΄μ„œ μ„œλ²„λ₯Ό μž¬μ‹œμž‘ν•˜μ…”μ•Όν•©λ‹ˆλ‹€)

728x90