📚 Computer Science/Network

[모든 개발자를 위한 HTTP 웹 기본 지식] 3. HTTP 기본

ryang x2 2023. 8. 10. 17:03
728x90
반응형

인프런 김영한님 [모든 개발자를 위한 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 사용성에 집중

서버 : 비즈니스 로직, 데이터 처리에 집중

-> 결과적으로, 각각 독립적으로 진화 할 수 있다.

 

 

 

 

728x90
반응형