HTML, API & CRUD

류연찬·2023년 5월 13일
0

GraphQL

목록 보기
1/17

HTTP 통신

HTTPHyper Text Transfer Protocol의 약자로 두 컴퓨터간의 텍스트 데이터를 주고 받는 길 입니다.

Http라는 길로 요청(request)응답(response) 2가지를 서로 주고 받을 수 있습니다.



HTTP 요청(Request)과 응답(Response)

HTTP 요청(Request)

웹브라우저에서 홈페이지가 실행중이라면, 작성한 게시물 텍스트 데이터를 HTTP를 통해 Back-end 컴퓨터로 보내고 Back-end 컴퓨터에게 이 데이터를 데이터베이스에 저장해달라고 요청합니다.



HTTP 응답(Response)

요청을 받은 Back-end 컴퓨터가 성공, 실패 등 처리 결과를 응답합니다.

💡 응답 상태 코드
Back-end 컴퓨터는 응답할 때, 응답 상태 코드 라는 것도 함께 보내줍니다.
응답 상태 코드 는 100~599까지 숫자로 구성되어 있습니다.
자주 볼 수 있는 응답 상태 코드로는 성공(200) , Front-end 에러(400) , Back-end 에러(500) 등이 있습니다.
예를 들면, 요청에 성공하였으면 성공 메시지와 응담 상태 코드 200 을 함께 보내줍니다.

다양한 코드(MDN) : https://developer.mozilla.org/ko/docs/Web/HTTP/Status

💡 DB에 바로 요청하면 안되나요?
보안 및 데이터 정제 등의 이유로 Back-end에서 검증 과정을 거쳐야 하기 때문에, 아무나 함부로 DB에 요청할 수 없습니다.


HTTP 헤더와 바디

HTTP로 요청과 응답을 보낼 때, 그 메시지 안에는 시작라인, 헤더와 바디가 있습니다.

출처 : https://developer.mozilla.org/ko/docs/Web/HTTP/Messages



HTTP 요청 메시지

  • start-line
    • HTTP method(GET, Post 등)
    • request end-point('/board')
    • HTTP version
  • header
    • Host: 요청을 보내는 브라우저의 주소
    • Content-Type: 응답하는 메시지의 내용이 어떤 종류인지

HTTP 응답 메시지

  • start-line

    • HTTP version
    • HTTP 상태 코드(200, 400, 500 등)
  • header

    • Content-Type: 응답하는 메시지의 내용이 어떤 종류인지

💡 요청과 응답 둘 다 Body가 들어갈 수 있으며, 실제 전송하려는 데이터가 여기에 들어갑니다.


API와 CRUD

작성해둔 게시글이 있으므로 링크로 대체하겠습니다.
[필자 게시글] 3일차 - API

0개의 댓글