HTTP 통신

훈이·2022년 10월 2일

HTTP(Hyper Text Transfer Protocol)란?

위키백과의 설명에 따르면 HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request, response) 프로토콜이다.
즉, 브라우저와 서버가 통신을 할 수 있도록 해주는 프로토콜의 한 종류라고 이해하면 된다.
참고) 프로토콜이란? 쉽게 말해서 데이터를 주고 받는 방식에 대한 규칙이다.

HTTP 통신

HTTP 통신은 요청(request)과 응답(response)로 이루어져 있다.
클라이언트(Client, 일반적으로는 브라우저를 의미)에서 요청을 보내며 서버(Server)에서 요청을 받고 응답을 보내준다. 그리고 HTTP메시지를 주고받습니다.

HTTP 메시지 구조


이미지출처: https://velog.io/@sdc337dc/%EC%9B%B9-%EA%B0%9C%EB%85%90-Http-%ED%86%B5%EC%8B%A0

HTTP 통신 - 무상태(stateless)

서버와 클라이언트가 이전 상태를 보존하지 않는다는 의미다.
즉, 서버와 클라이언트가 통신을 주고 받아도 서로 연결되어 있는게 아니라 독립적이기 때문에 서로 요청한 것들을 기억하지 못한다.
로그인의 경우에는 세션/저장소같은 곳에 저장하기 때문에 기억하는 것처럼 보인다.

HTTP 메소드

GET - 클라이언트가 서버에 리소스를 요청할 때 사용
POST - 클라이언트가 서버의 리소스를 새로 만들 때 사용
PUT - 클라이언트가 서버의 리소스를 수정 할 때 사용
PATCH - PUT과 비슷하지만 일부 만 수정 할 때
DELETE - 삭제
OPTIONS - 클라이언트가 서버에서 해당 URL이 어떤 메소드를 지원하는지 확인 할 때 사용

HTTP 상태코드

100번대 : 요청 정보를 처리 중
200번대 : 성공
300번대 : 요청 완료를 위해 추가 동작이 필요
400번대 : 클라이언트 측 오류
500번대 : 서버 측 오류

참고한 사이트
https://ko.wikipedia.org/wiki/HTTP
https://wildeveloperetrain.tistory.com/37
https://velog.io/@sdc337dc/%EC%9B%B9-%EA%B0%9C%EB%85%90-Http-%ED%86%B5%EC%8B%A0

profile
백엔드 개발자가 되자!

0개의 댓글