본문 바로가기

개발/Network

[Network] HTTP란?

반응형

소개 

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