- 0
- 2
HTTP & RESTful AP
답변 확인
1. HTTP란?
HTTP (HyperText Transfer Protocol, 하이퍼텍스트 전송 프로토콜은 웹 상에서 클라이언트와 서버 간 데이터를 주고받는 데 사용되는 통신 규약입니다. 즉, 웹 브라우저(클라이언트) 가 서버에 요청(Request)을 보내고, 웹 서버가 이에 대한 응답(Response)을 반환하는 방식으로 동작
HTTP의 주요 특징
특징 | 설명 |
---|---|
비연결성 (Stateless) | 각 요청-응답이 독립적으로 처리되며, 연결이 유지되지 않음. |
무상태성 (Stateless) | 서버는 클라이언트의 상태를 저장하지 않으며, 모든 요청은 독립적. |
TCP 기반 통신 | 데이터를 안전하게 전송하기 위해 TCP 연결 사용. |
다양한 데이터 전달 | HTML, JSON, 이미지, 동영상 등 다양한 데이터 포맷을 전달 가능. |
확장성 | HTTP 헤더를 통해 쿠키, 인증, 캐시 등 기능 확장 가능. |
2. HTTP의 동작 방식
- 클라이언트가 요청(Request)을 보냄
- 사용자가
https://example.com
에 접속하면 브라우저가 서버로 HTTP 요청 전송
- 서버가 응답 (Response)을 반환
- 예 : 서버는 요청을 처리하고 HTML, JSON 등의 데이터를 반환
- 브라우저가 응답을 렌더링
- 받은 데이터를 화면에 표시.
HTTP 요청 & 응답
[Client] --- (HTTP 요청) ---> [Server]
[Server] --- (HTTP 응답) ---> [Client]
- 요청 (GET 요청)
GET /index.html HTTP/1.1
Host: example.com
- 응답 (서버 응답)
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<body>Hello, World!</body>
</html>
3. HTTP 메서드
- HTTP 메서드는 클라이언트가 서버에 요청을 보낼 때 수행할 작업
- RESTful API에서 자원(Resource) 조작을 위해 사용됨
메서드 | 설명 | 사용 사례 |
---|---|---|
GET | 데이터를 조회하는 요청 | 페이지 로드, API 조회 |
POST | 데이터를 생성하는 요청 | 회원가입, 글 작성 |
PUT | 기존 데이터를 수정하는 요청 | 프로필 수정 |
DELETE | 데이터를 삭제하는 요청 | 게시글 삭제 |
4. HTTP 상태 코드
- 서버가 클라이언트의 요청을 처리한 결과를 나타내는 코드
상태 코드 | 의미 | 설명 |
---|---|---|
200 | OK | 요청 성공 |
301 | Moved Permanently | 영구적으로 이동됨 (리다이렉트) |
400 | Bad Request | 잘못된 요청 |
401 | Unauthorized | 인증 필요 |
404 | Not Found | 요청한 리소스를 찾을 수 없음 |
500 | Internal Server Error | 서버 내부 오류 |
5. HTTPS와 HTTP 차이
특징 | HTTP | HTTPS (보안 적용) |
---|---|---|
보안 | 암호화 X, 데이터 평문 전송 | SSL/TLS 암호화 적용 |
사용 포트 | 80 | 443 |
속도 | 빠름 | 암호화로 인해 약간 느림 |
신뢰성 | 데이터 위변조 위험 | 보안 인증서(SSL) 사용 |
✅ HTTPS는 로그인, 결제 등 보안이 중요한 서비스에서 필수
6. RESTful API란?
- RESTful API는 REST(Representational State Transfer) 원칙을 따르는 API를 의미
- HTTP를 기반으로 클라이언트와 서버 간 데이터를 주고받는 구조를 정의하는 방식
쉽게 설명하면
- 웹사이트 주소(URI)를 통해 원하는 정보(리소스)를 요청하고,
- 요청에 따라 서버가 적절한 응답을 보내는 방식입니다.
- 그리고 GET, POST, PUT, DELETE 같은 HTTP 메서드를 사용해 정보를 조회, 생성, 수정, 삭제할 수 있습니다.
Rest 원칙
원칙 | 설명 |
---|---|
클라이언트-서버 분리 | 클라이언트와 서버의 역할을 분리하여 독립적인 개발 가능. |
무상태성 | 서버는 클라이언트의 상태를 저장하지 않으며, 각 요청은 독립적으로 처리됨. |
리소스 기반 | URI를 통해 특정 리소스를 명확하게 식별. |
일관된 인터페이스 | HTTP 메서드(GET, POST, PUT, DELETE)를 활용한 표준화된 요청. |
캐시 가능성 | API 응답을 캐싱하여 성능 개선 가능. |
RESTful API를 사용하면 좋은 점
- 주소(URI)만 보면 어떤 데이터를 주고받는지 직관적으로 이해 가능
- 일관된 방식(GET은 조회, POST는 생성)으로 API를 설계할 수 있음
- 서버와 클라이언트가 독립적으로 개발 가능 📌 즉, RESTful API는 "웹에서 정보를 주고받는 표준화된 방법"
결론
1️. HTTP는 웹에서 데이터를 주고받는 프로토콜
- 클라이언트(브라우저)와 서버가 요청(Request)과 응답(Response) 방식으로 통신
- 비연결성, 무상태성 특징을 가지며 다양한 데이터 형식 전송 가능
2️. HTTP 메서드 & 상태 코드 활용
GET
: 조회,POST
: 생성,PUT
: 수정,DELETE
: 삭제- 상태 코드로 요청 결과(200 OK, 404 Not Found, 500 Server Error 등)를 확인
3️. HTTPS는 보안이 강화된 HTTP
- SSL/TLS 암호화 적용으로 데이터 보호 & 신뢰성 확보
- 로그인, 결제 같은 민감한 데이터 처리에 필수
4️. RESTful API는 HTTP 기반의 표준화된 API 설계 방식
- URI + HTTP 메서드 조합으로 직관적인 리소스 관리
- 클라이언트-서버 분리, 무상태성, 일관된 인터페이스 유지
📌 즉, HTTP는 웹 통신의 기본, HTTPS는 보안 강화를 위한 필수 요소, RESTful API는 데이터를 표준화하여 주고받는 방식
참고 자료
Top comments (2)
- DavidYang2월 19일
우와 댓글이다~
- Olivia2월 19일
오오 ~~ :) 너무 글 좋네용