728x90

상태 코드는 3자리 숫자로 만들어져 있으며, 첫번째 자리는 1에서 5까지 제공된다. 첫번째 자리가 4와 5인 경우는 정상적인 상황이 아니기 때문에 사이트 관리자가 즉시 알아야 하는 정보다.

 

  • 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행
  • 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용함
  • 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요
  • 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없음
  • 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패

지금까지 컴퓨터를 하면서 가장 자주 접하는 상태 코드는 역시나 "404 Not Found"가 아닐까 싶다. 서버가 요청한 페이지를 찾을 수 없다는 의미로 서버에 존재하지 않는 페이지에 대한 요청이 있을 경우 서버에서 이 코드를 제공한다.

있어야 할 페이지가 갑자기 사라진다면, 개발자 마음은 어떨까..?

반응형

'Programming' 카테고리의 다른 글

[Programming]Wecode Fullstack 1차 프로젝트 회고록  (1) 2022.01.08
728x90

Node.js의 http 모듈과 express 프레임워크로 server를 생성하는 방법중 가장 큰 차이점은 바로...

routingmodularization(모듈화)이다. 

 

앱이나 웹의 규모가 커지면 커질수록 코드는 복잡해 질수밖에 없는데 라우팅이나 모듈을 사용하지 않을 경우, 아래 코드와 같이 조건문으로 분기해서 다른 로직을 처리하게끔 해주어야 한다. 

const http = require('http')
const { sendPosts } = require('./sendPosts')

const server = http.createServer((req, res) => {
  const { url, method } = req
  res.setHeader('Content-Type', 'application/json')

  if (url === '/') return res.send({ message: '/ endpoint' })
  if (url === '/signup' && method === 'POS') return res.end(JSON.stringify({ message: '회원가입 완료!' }))
  if (url === '/login' && method === 'POST') return res.end(JSON.stringify({ message: '로그인 완료!' }))
  if (url === '/products' && method === 'GET') return sendPosts(res)

  res.send(JSON.stringify({ message: 'this response answers to every request' }))
})

server.listen(8080, () => { console.log('server is listening on PORT 8000')})

하지만 express 프레임 워크를 쓴다면, 아래와 같이 조금 더 간결하게 코드를 구성할 수 있게 된다. 

const http = require('http')
const express = require('express')
const { sendPosts } = require('./postings')

const app = express()
app.use(express.json())

app.get('/', (req, res) => {
  res.json({ message: '/ endpoint' })
})

app.post('/signup', handleSignUp) // 첫번째 인자에는 endpoint url 을 기입하고,
app.post('/login', handleLogin) // 각각의 요청에 대해 핸들링 하는 함수를 두번째 인자로 넣는다.
app.get('/products', sendPosts)

const server = http.createServer(app)

server.listen(8000, () => {
  console.log('server is listening on PORT 8000')
})
반응형

+ Recent posts