HTTP 프로토콜 개념

가짜 개발자·2022년 11월 30일
0

🎃 HTTP 프로토콜이란?

HTTP (Hypertext Transfer Protocl)란 데이터를 주고 받기 위한 하나의 약속이자 통신 규약이다. 상호 간의 미리 정의한 규칙에 의거하여 브라우저와 서버 간에 데이터를 주고 받는다.

쉽게 말해 응답 요청을 하기 위한 하나의 통신 약속이다.


🎆 HTTP 프로토콜 특징

무상태성(Stateless),
비연결성(Connectionless)

🥋 무상태성(Stateless)

HTTP프로토콜의 가장 큰 특징은 무상태성(stateless)이다. 쉽게 말해 서버가 클라이언트의 상태를 저장하지 않는다는 뜻이다. 이는 요청을 보낼 때 클라이언트가 추가 데이터를 전송해야 한다는 문제점이 존재하지만 요청 방식을 항상 같은 서버에 연결 될 필요가 없어 서버 성능 향상에 매우 유리하다.

🎭 비연결성(Connectionless)

요청을 한 후 응답을 받으면 바로 연결을 종료한다. → 즉, 불필요한 연결을 하지 않아 서버 유지 자원이 감소여 서버 유지 자원을 효율적으로 사용 가능하다.


🎈 HTTP Request & HTTP Response

HTTP 프로토콜로 데이터를 주고받기 위해서는 아래와 같이 요청을 보내고 응답을 받아야 한다.

이는 Client-Server 구조로 서버와 클라이언트는 독립적으로 데이터나 비즈니스 로직을 처리 할 수 있다. 이러한 특징으로 다수의 요청 처리 및 서버의 부하를 줄일 수 있는 성능 상의 이점이 있다.


🏆 URL

URL은 사용자가 원하는 정보 자원을 찾기 위해 해당 정보 자원의 위치와 종류를 파악해야할때 사용하는 일련의 규칙이다.

URL구조는 아래와 같다.


♟ HTTP 요청 메서드

서버 엔드포인트에 특정 데이터를 요청할 때 HTTP 요청 메서드를 사용한다. 대표적으로 GET, POST, PUT, DELETE요청이 있다.

GET : 존재하는 자원에 대한 요청
POST : 새로운 자원을 생성
PUT : 존재하는 자원에 대한 변경
DELETE : 존재하는 자원에 대한 삭제

이와 같이 HTTP 요청 메서드를 활용하면 CRUD를 수행할 수 있다.


🪀 HTTP 상태 코드

클라이언트가 서버에게 요청하면 서버는 요청에 대한 작업을 수행한 후 그 결과를 상태 코드와 함께 응답한다.

1xx : (정보) 요청을 받았으며 프로세스를 계속한다
2xx : (성공) 요청을 성공적으로 받았으며 인식했고 수용하였다
3xx : (리다이렉션) 요청 완료를 위해 추가 작업 조치가 필요하다
4xx : (클라이언트 오류) 요청의 문법이 잘못되었거나 요청을 처리할 수 없다
5xx : (서버 오류) 서버가 명백히 유효한 요청에 대해 충족을 실패했다


🎰 참고자료 링크

프로토콜 특징
프런트엔드 개발자가 알아야하는 HTTP 프로토콜
프로토콜 정의 및 동작 방식

profile
프론트 개발 일지

0개의 댓글