이 글은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 수강하며 정리한 글입니다.
HTTP
HyperText Transfer Protocol
웹 브라우저상에서 클라이언트와 서버간의 통신을 담당하는 프로토콜
문서 간 링크를 통해 연결할 수 있는, HTML를 전송할 수 있다
HTTP 메시지에 모든 것을 전송
• HTML, TEXT
• IMAGE, 음성, 영상, 파일
• JSON(서버끼리 통신할 때 사용), XML (API)
• 거의 모든 형태의 데이터 전송 가능
• 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용
• 지금은 HTTP 시대!
HTTP 역사
• HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X
• HTTP/1.0 1996년: 메서드, 헤더 추가
• HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전
• RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014)
• HTTP/2 2015년: 성능 개선
• HTTP/3 진행중: TCP 대신에 UDP 사용, 성능 개선
1.1에 대부분의 기능이 들어있고, 2와 3 버전에 성능 개선이 초점이 맞춰져 있다
기반 프로토콜
• TCP: HTTP/1.1, HTTP/2
• UDP: HTTP/3
• 현재 HTTP/1.1 주로 사용
• HTTP/2, HTTP/3도 점점 증가
TCP는 여러 기능이 있기 때문에 속도가 빠르지 않다
UDP에 성능을 최적화해서 나온 것이 3 버전이다
1.1 버전만 배워 둬도 2와 3은 성능 개선을 한 것이기 때문에 이해하기 어렵지 않다
HTTP 특징
• 클라이언트 서버 구조
• 무상태 프로토콜(스테이스리스), 비연결성
• HTTP 메시지
• 단순함, 확장 가능
'Etc > CS' 카테고리의 다른 글
[HTTP] 기본 - HTTP 메시지 (0) | 2022.04.01 |
---|---|
[HTTP] 기본 - 비 연결성(connectionless) (0) | 2022.04.01 |
[HTTP] URI와 웹 브라우저 요청 흐름 - 웹 브라우저 요청 흐름 (0) | 2022.03.31 |
[HTTP] URI와 웹 브라우저 요청 흐름 - URI (0) | 2022.03.31 |
[HTTP] 인터넷 네트워크 - IP (0) | 2022.03.30 |
댓글