인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다.
틀린 부분이 있으면 답글 달아 주세요😊😊
1. HTTP (HyperText Transfer Protocol)
- HTTP는 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)이다.
- 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로 크게 HTTP 통신과 Socket 통신 2가지 있다.
👉 모든 것이 HTTP (HTTP 메시지에 모든 것을 전송)
• HTML, TEXT
• IMAGE, 음성, 영상, 파일
• JSON, XML(API)
• 거의 모든 형태의 데이터 전송 가능
• 서버간에 데이터를 주고 받을 때도 대부분 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 사용, 성능 개선
👉 기반 프로토콜
• TCP : HTTP1.1, HTTP/2
• UDP : HTTP/3
• 현재 HTTP/1.1 주로 사용, HTTP/2, HTTP/3도 점점 증가
🔎 실제 사용되고 있는 HTTP 버전 확인해보기
구글 검색 후 F12 -> Network -> protocol 을 보면 실제 사용되는 HTTP 버전 확인이 가능하다
💡 HTTP 특징
• 클라이언트 서버 구조
• 무상태 프로토콜(스테이스리스), 비연결성
• HTTP 메시지
• 단순함, 확장 가능
2. 클라이언트 서버 구조
• Request Response 구조 (표면적)
- 클라이언트는 서버에 요청을 보내고, 응답을 대기
- 서버가 요청에 대한 결과를 만들어서 응답
⭐ 클라이언트와 서버를 개념적으로 분리시키는 것이 중요하다!!
클라이언트 : UI, UX 사용성에 집중
서버 : 비즈니스 로직, 데이터 처리에 집중
-> 결과적으로, 각각 독립적으로 진화 할 수 있다.
'📚 Computer Science > Network' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식] 3. HTTP 기본 - 비연결성(connectionless) (0) | 2023.08.11 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식] 3. HTTP 기본 - Stateful, Stateless (0) | 2023.08.10 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 2. URI와 웹 브라우저 요청 흐름 (0) | 2023.08.08 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 1. 인터넷 통신 - PORT/DNS (0) | 2023.08.08 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 1. 인터넷 통신 - TCP/UDP (0) | 2023.08.07 |