
이번 게시글에서는 HTTP에 대해서 더욱 자세하게 다뤄보겠다.
HTTP (Hypertext Transfer Protocol) 은
웹 상에서 클라이언트(브라우저) 와 서버 간 데이터를 주고받는 통신 규약
쉽게 말해, 사용자가 웹페이지를 요청하면 서버가 HTML, CSS, JSON 같은 데이터를 보내주는 약속된 방식
HTTP는 요청(Request) 과 응답(Response) 으로 이루어진다.
이처럼 한 번의 요청과 응답으로 통신이 끝나기 때문에
HTTP는 비연결성(Stateless)을 특징으로 한다.
즉, 이전 요청의 상태를 서버가 기억하지 않음
HTTP는 단순한 텍스트뿐만 아니라 다양한 포맷을 전달할 수 있다
예를 들어:
요청과 응답에는 다음과 같은 정보가 포함:
| 구분 | 설명 |
|---|---|
| URL | 요청 경로 (예: /users/1) |
| 메서드(Method) | 요청의 목적 (GET, POST, PUT, DELETE 등) |
| 헤더(Header) | 요청/응답에 대한 부가 정보 (ex. Content-Type, Authorization) |
| 상태 코드(Status Code) | 요청 결과 (200 OK, 404 Not Found, 500 Server Error 등) |
HTTP를 기반으로 한 대표적인 설계 방식이 바로 RESTful API이다.
REST (Representational State Transfer) 는
웹의 리소스(Resource)를 일관된 규칙으로 관리하는 설계 원칙
클라이언트-서버 분리
무상태성 (Stateless)
일관된 인터페이스 (Uniform Interface)
GET /users → 사용자 목록 조회 POST /users → 새 사용자 등록 PUT /users/1 → 사용자 정보 수정 DELETE /users/1 → 사용자 삭제캐시 가능성 (Cacheable)
| 개념 | 설명 |
|---|---|
| HTTP | 웹 통신의 기본 규약 (요청/응답 기반) |
| HTTPS | 암호화된 HTTP (보안 강화) |
| RESTful API | HTTP를 활용한 리소스 중심 설계 방식 |