1. 개요
<aside>
💡 웹브라우저 주소 입력란에 URL을 입력했을 때 어떻게 해서 웹 페이지가 보일까요?
브라우저 주소 입력란에 URL을 입력하면
브라우저는 서버에게 해당 주소에 대한 리소스(파일 등의 정보)를 요청(Request)하고
웹 서버는 응답(Reponse)을 통해 리소스를 전송합니다.
이때, HTTP 통신을 사용하게 됩니다. HTTP는 통신을 위한, 문서전송을 위한 약속, 규칙입니다.
그런데, 프론트엔드 개발자가 HTTP를 알아야 할까요?🤔
백엔드 개발자와 원활한 커뮤니케이션을 위해서, API를 다루기 위해선 기초적인 HTTP를 알아두셔야 합니다.


</aside>
2. HTTP란?
- HTTP(HyperText Transfer Protocol) : 하이퍼미디어 문서를 전송하기 위한 프로토콜입니다.
<aside>
💡 Protocol(프로토콜) : 약속
- 데이터가 전송되는 방식을 결정하는 규약입니다.
- 송/수신자 사이의 합의를 통해 ‘데이터 포맷은 이렇게, 오류제어는 이렇게 해서 데이터를 주고받자!’와 같이 서로 통신할 때 이해할 수 있는 규칙을 만든 것을 의미합니다.
</aside>
- 웹에서 이뤄지는 데이터 통신의 기초. 주로 TCP를 사용.
- 버전 : HTTP/1.1
- 1997년에 공개된 버전으로, 현재 가장 많이 사용되는 버전입니다.
- (RFC2068 → RFC2626이 최신 버전)
- 현재 HTTP/2.0이 개발되고 있지만, 아직 범용적으로 사용단계는 아닙니다.
- HTML, XML, Javascript, 오디오, 비디오, 이미지, PDF, Etc
- 요청 또는 상태 라인 / 헤더(생략가능) / 빈줄(헤더의 끝) / 바디(생략가능)
- HTTPS (HTTP Secure)
3. TCP/IP
- 인터넷에 관련된 다양한 프로토콜의 집합을 총칭합니다.
- HTTP, FTP, SNMP, SMTP 등이 TCP/IP 기반 위에서 동작하는 프로토콜들입니다.
TCP란?
Transmission Control Protocol
의 약자
- 데이터 전송의 신뢰성을 담당합니다.
- 데이터를 작은 패킷으로 나누어 전송하고, 수신측에서 올바른 순서로 재조립하며, 손실된 패킷이 있으면 재전송을 요청합니다.
- 연결 지향적이고 신뢰성 있는 통신을 보장합니다.