Http란 무엇인가?

gimseonjin616·2021년 9월 30일
0

backend_roadmap

목록 보기
2/5

HTTP

HTTP는 hyper text transfer protocol로 웹 통신상에서 ISO Latin1 영문자, 즉 사람이 읽을 수 있는 언어를 사용하는 프로토콜(통신 규격)입니다.

Request, Response 요청과 응답

Http는 크게 두 가지로 구분할 수 있습니다. 첫번째는 Requset(요청) 메시지이고 두번째는 Response(응답)메시지 입니다.

여기서 요청 메시지는 쉽게 말해 서버에 어떠한 데이터나 데이터 처리 로직을 요청할 때 사용하는 메시지 이며 응답 메시지는 이러한 요청을 처리하고 난 결과값을 전달해주는 메시지 입니다.

메시지 형태

Http 메시지는 요청, 응답 모두 아래와 같은 형태를 가지고 있습니다. 헤더와 바디로 구성되어 있는데 여기서 헤더는 바디에 어떤 데이터가 들어갔는 지, 언제 보낸 데이터 인지, 바디와 관련된 데이터가 담겨있습니다.

바디에는 사용자가 요청한 데이터, api 같은 경우에는 JSON 형태, 일반 웹 사이트 경우에는 HTML, CSS, Javascript가 담겨있습니다.

요청 메소드와 응답 코드

그러나 요청 메시지와 응답 메시지는 서로 다른 요소가 존재합니다. 요청 메시지에는 요청 메소드가, 응답 메시지에는 응답 코드가 존재합니다.

요청 메소드

요청 메소드는 GET, POST, PUT, DELETE 등이 있으며 다음과 같이 설명할 수 있습니다.

  • GET : GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다.

  • HEAD : HEAD 메서드는 GET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.

  • POST : POST 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.

  • PUT : PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.

  • DELETE : DELETE 메서드는 특정 리소스를 삭제합니다.

  • CONNECT : CONNECT 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺습니다.

  • OPTIONS : OPTIONS 메서드는 목적 리소스의 통신을 설정하는 데 쓰입니다.

이처럼 다양한 요청 메소드가 있는데 이 중에서 GET, POST, PUT, DELETE 만 활용해서 효율적으로 데이터 통신을 할 수 있도록 하는 약속이 바로 REST API입니다.

REST API에는 다른 조건도 있으나 차후 정리

응답 코드

이 응답코드는 상태 코드라고도 불리며 내가 요청한 로직, 데이터 처리가 성공적으로 처리됐는가, 실패했는가, 그 실패의 원인은 무엇인가, 간단하게 표현한 코드입니다.

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

  • 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다.

  • 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였습니다.

  • 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.

  • 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.

  • 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다.

profile
to be data engineer

0개의 댓글