소개
HTTP는 "Hypertext Transfer Protocol"의 약어로, 웹에서 데이터를 주고받는 프로토콜입니다.
HTTP는 클라이언트와 서버 간에 데이터를 전송하는 데 사용되며, 주로 HTML 문서, 이미지, 동영상, 스크립트 등의 웹 페이지 자원을 전송하는 데 활용됩니다.
특징
기본적으로 요청-응답 모델을 따르며, 클라이언트가 서버에게 어떤 동작을 원하는지를 요청(Request)하고, 서버는 그 요청에 대한 응답(Response)을 제공합니다.
이 프로토콜은 TCP/IP 기반으로 동작합니다.
HTTP는 무상태(Stateless) 프로토콜이기 때문에 각각의 요청은 서로 독립적으로 처리되며, 이전의 요청에 대한 상태 정보를 유지하지 않습니다.
이 특성은 간단하고 확장 가능한 네트워크 통신을 가능하게 합니다.
TIP
보안이 필요한 경우, HTTPS(HTTP Secure)를 사용할 수 있습니다. HTTPS는 SSL/TLS 프로토콜을 사용하여 데이터의 암호화와 인증을 제공하여 보다 안전한 통신을 보장합니다.
보통 동작하는 방법은client -> Frontend 접근 -> Backend로 요청 -> DB와 연결하여 데이터 조회이다.
Frontend에서 어떤 동작을 하냐에 따라 Backend에 요청도 달라질 수 있다.
일반 헤더 (General Headers):
Cache-Control | 캐시 제어를 위한 지시사항을 포함합니다. |
Connection | 클라이언트와 서버 간의 연결 상태를 나타냅니다. |
Date | 메시지가 만들어진 날짜 및 시간을 나타냅니다. |
요청 헤더 (Request Headers):
Host | 요청한 호스트의 도메인 이름과 포트 번호를 나타냅니다. |
User-Agent | 클라이언트 소프트웨어의 정보를 나타냅니다. |
Accept | 클라이언트가 서버에서 받을 수 있는 미디어 타입을 지정합니다. |
Authorization | 클라이언트의 인증 정보를 담고 있습니다. |
응답 헤더 (Response Headers):
Server | 서버 소프트웨어의 정보를 나타냅니다. |
Content-Type | 응답 메시지의 미디어 타입을 나타냅니다. |
Content-Length | 응답 본문의 길이를 나타냅니다. |
Location | 리다이렉션된 리소스의 위치를 나타냅니다. |
엔터티 헤더 (Entity Headers):
Content-Disposition | 컨텐츠의 표시 방법을 지정합니다. |
Content-Encoding | 컨텐츠의 압축 방법을 나타냅니다. |
Content-Language | 컨텐츠의 언어를 나타냅니다. |
이외에도 많은 헤더들이 있지만 주로 알고있는 헤더들이다..
결론
HTTP는 요청과 응답의 구조이고,
사용하는 이유는 데이터를 주고받기 위함이고,
통신 방식중 하나이다.
중요한 포인트는 응답을 받고난 후 해당 요청은 사라진다.
'개발 > Network' 카테고리의 다른 글
[Network] Http CORS란? (0) | 2023.12.06 |
---|---|
[Network] CDN이란 (0) | 2023.12.06 |
[ Network ] NAS( Network Attached Storage)란? (0) | 2023.11.16 |
[ Network ] NTP란? (0) | 2023.11.16 |
[ Network ] 포트포워딩(Port Forwarding) 이란? (0) | 2023.11.16 |