1. HTTP 통신

어니언·2023년 1월 12일
0

HTTPHyperText Transition Protocol의 약자로 HTML문서와 같은 리소스들을 가져올 수 있도록 도와주는 프로토콜이다. HTTP는 웹에서 이루어지는 모든 데이터교환의 기초라할 수 있다. 즉, 두컴퓨터 간에 텍스크 데이터들을 주고받는 통로라고 할 수 있다.

HTTP의 특징으로
HTTP라는 길을 통해 프론트엔드 컴퓨터에서 요청을하고, 백엔드컴퓨터에서 응답을 하며 서로 데이터들을 주고받는다.


위 그림과 같이 고객이 게시글을 작성하여 서버로 데이터베이스에 저장 요청을 HTTP를 통해서 보낸다
그러면 서버에서 DB저장에 대한 성공, 실패등 처리결과를 응답합니다.

HTTP 요청의 구조

1. 시작줄 (첫 줄)
첫 줄은 시작줄로 메서드 구조 버전으로 구성되었다.
GET : HTTP Method
https://velog.io/@surim014 : 사이트 주소
HTTP/1.1 : HTTP 버전

2. 헤더 (두 번째 줄부터)
두번째 줄부터는 헤더이며 요청에 대한 정보를 담고 있다. User-Agent, Upgrade-Insecure-Requests 등등이 헤더에 해당되며 헤더의 종류는 매우 많다.

3. 본문 (헤더에서 한 줄 띄고)
본문은 요청을 할 때 함께 보낼 데이터를 담는 부분이다. 현재 예시에는 단순히 주소로만 요청을 보내고 있고 따로 데이터를 담아 보내지 않기 때문에 본문이 비어있다.

요청 메서드로는

GET - 특정 리소스를 받기위한 요청
POST - 리소스를 생성하거나 컨트롤러를 실행하는 데 사용한다.
PUT - 변경 가능한 리소스를 업데이트하는데 사용, 리소스식별정보를 항상 포함해야한다.
PATCH - 변경 가능한 리소스의 부분 업데이트에 사용되며 항상 리소스 식별정보를 포함한다.
DELETE - 특정 리소스를 제거하는데 사용한다.
HEAD - 클라이언트가 본문 없이 리소스에 대한 헤더만 검색하는 경우 사용한다.
OPTION - 클라이언트가 서버의 리소스에 대해 수행 가능한 동작을 알아보기 위해 사용한다.

이때 응답할 때 HTTP 상태 코드를 함께 보내줍니다. HTTP 상태코드는 100~599까지 각상황에 맞는 번호가 지정되어있고 대표적으로 200(성공) 404(에러), 500(에러) 코드가 있습니다.

profile
안녕하세요.

0개의 댓글