HTTP 통신

정희준·2023년 3월 17일
0
post-thumbnail

HTTP 통신

데이터를 통신하기 위해 존재하는 도구들이 있다
그 중 하나가 바로 HTTP 통신이며
HTTP란 HyperText Transfer Protocol의 약자로 두 컴퓨터간에 텍스트 데이터를 주고 받는 길이며
HTTP 라는 길로 요청(request)과 응답(response) 2가지를 서로 주고 받을 수 있다.
통신을 위해선 포트 번호가 필수이며 http는 80 https는 443의 기본포트를 가지고 있어 생략 가능하다
.

HTTP 통신의 특징

서버는 응답 메시지를 반환한 후에 초기 상태로 돌아갑니다.
이 때 서버는 클라이언트의 상태를 저장하지 않습니다.
즉, HTTP 통신은 상태가 없는 통신 입니다.
여기서 상태가 없다라는 말은 데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적으로 관리가 된다는 말이고,
이전 데이터 요청과 다음 데이터 요청이 서로 관련이 없다는 말입니다.

위의 사진처럼 각각의 데이터 요청이 독립적으로 반응한다는것을 볼 수 있습니다.
이러한 특징 덕분에 서버는 세션과 같은 별도의 추가 정보를 관리하지 않아도 되고
다수의 요청 처리 및 서버의 부하를 줄일 수 있는 성능 상의 이점이 생깁니다.

요청(Request), 응답(Response)

요청과 응답을 보낼떄 그 메시지 안에는 시작라인, 헤더, 바디로 구성되어있습니다
HTTP 요청 메시지

  • 시작 라인
    • HTTP 메서드 (GET, POST 등)
    • 요청 엔드포인트 ('/board')
    • HTTP 버전
  • 헤더
    • Host : 요청을 보내는 브라우저의 주소
    • Content-Type : 응답하는 메시지의 내용이 어떤 종류인지

HTTP 응답 메시지

  • 시작 라인
    • HTTP 버전
    • HTTP 상태 코드 (200, 400, 500 등)
  • 헤더
    • Content-Type : 응답하는 메시지의 내용이 어떤 종류인지

시작라인과 헤더는 위 정보가 담겨져 있고
바디에는 요청과 응답 모두 실제 전송하려는 데이터가 담겨져 있습니다

상태 코드

상태 코드란 HTTP 통신의 요청에 대한 결과를 나타내는 코드입니다

주요 상태코드에 대한 표이고 더 자세한 상태코드에 대해 알고싶다면 MDN 사이트를 활용하자!


참조

https://hyojin96.tistory.com

profile
같이 일하고 싶은 사람이 되어보자! 다시 시작하는 개발 블로그.

0개의 댓글