HTTP란?
HTTP(Hypertext Transfer Protocol)는 웹 브라우저(클라이언트)와 서버가 데이터를 주고받는 규칙입니다.
HTTP는 TCP 기반 프로토콜로, TCP의 특성을 가집니다.
HTTP의 주요 특징
- 무상태성
- HTTP는 클라이언트와 서버 간 통신에서 상태를 유지하지 않습니다.
> 각 요청은 독립적으로 처리되며, 이전 요청의 정보를 알지 못합니다. - 따라서 상태 관리를 위해 쿠키와 세션 같은 추가 도구가 필요합니다.
- HTTP는 클라이언트와 서버 간 통신에서 상태를 유지하지 않습니다.
- 비연결성
- 클라이언트가 요청을 보내고 서버가 응답을 반환한 뒤 연결을 끊습니다.
> 이러한 특징은 시스템 자원을 효율적으로 사용할 수 있게 합니다.
- 클라이언트가 요청을 보내고 서버가 응답을 반환한 뒤 연결을 끊습니다.
HTTP의 동작 방식
HTTP는 클라이언트-서버 모델을 기반으로 작동합니다. 아래는 HTTP 요청과 응답의 기본 흐름입니다:
- 클라이언트가 요청(request)을 전송
: 사용자가 브라우저에서 특정 URL을 입력하면, 클라이언트는 HTTP 요청을 서버로 전송합니다. - 서버가 응답(response)을 반환
: 서버는 요청을 처리한 후 클라이언트에게 결과(HTML, JSON, 이미지 등)를 응답으로 보냅니다.
서버의 응답에는 항상 상태 코드가 포함되어 있어 요청의 성공 여부 또는 오류를 클라이언트에 알립니다.
HTTP 요청 메서드
HTTP 요청은 메서드를 통해 클라이언트의 의도를 서버에 전달합니다. 주요 메서드는 아래와 같습니다.
종류 | 기능 |
GET | 데이터를 조회하며, URL에 데이터가 노출되므로 민감한 정보 전송에는 부적합. |
POST | 데이터를 서버에 전송하며, 본문에 포함되므로 GET보다 안전하지만 HTTPS가 아닌 경우 여전히 보안 취약. |
PUT | 데이터를 변경하거나, 해당 데이터가 없으면 새로 생성. |
PATCH | 일부 데이터만 수정할 때 사용. |
DELETE | 데이터를 삭제할 때 사용. |
HTTP 상태 코드
HTTP 상태 코드는 요청 처리 결과를 나타냅니다.
상태 코드 범주 | 설명 |
3xx | 리다이렉션: 요청된 리소스가 이동되었음을 나타냅니다. 새로운 URL로 리다이렉션해야 합니다. |
4xx | 클라이언트 오류: 잘못된 요청으로 인해 서버가 요청을 처리할 수 없습니다. |
5xx | 서버 오류: 서버에서 요청을 처리하는 도중 오류가 발생했습니다. |
상태 코드 | 설명 |
301 | 요청된 리소스가 영구적으로 다른 위치로 이동됨. |
302 | 요청된 리소스가 임시적으로 다른 위치에서 발견됨. |
400 | 잘못된 문법 등으로 인해 서버가 요청을 이해할 수 없음. |
404 | 요청된 리소스를 찾을 수 없음. |
500 | 서버에서 예상치 못한 오류가 발생하여 요청을 처리할 수 없음. |
503 | 서버가 과부하 또는 유지 보수로 인해 요청을 처리할 수 없음. |
'기타 > 취준 기록' 카테고리의 다른 글
[기술 면접 준비] WAS의 구조와 개념: 웹 서버와의 차이점 이해하기 (0) | 2024.11.19 |
---|---|
[기술 면접 준비] HTTP와 HTTPS의 차이점 (0) | 2024.11.18 |
[2024 하반기] 농협정보시스템 서류 합격 (1) | 2024.11.16 |
[2024 하반기] 신용회복위원회 전산직 필기 후기 (2) | 2024.11.15 |
[2024 하반기] 한국고용정보원 정보화 1차 면접 후기 (+합격) (1) | 2024.11.05 |