💜99_기타/03_웹 지식

#http #HyperTextTransperProtocol #특징 #Stateless #Stateful #비연결성 #무상태

roomname-dev 2024. 2. 13.
728x90

⚡Http 개념, 역사, 특징


💯HTTP란? 

💠HTTP는 하이퍼텍스트 전송 프로토콜(Hyper Text Transfer Protocol)
💠HTTP는 1989년~1991년 발명 
💠HTTP는 월드 와이드 웹(WWW)에 내재된 프로토콜
💠HTTP는 인터넷에서 데이터를 주고 받을수 있는 프로토콜

 

💯프로토콜(Protocol)이란?

💠프로토콜은 규칙, 약속, 규약이다. 
💠컴퓨터 네트워크(관계망)에서 데이터를 주고 받을 때 이런한 규칙을 통해 정보 교환이 가능하다. 
💠컴퓨터 네트워크에서 데이터를 보내고 받는 성격에 따라 프로토콜이 만들어졌다. 
💠웹문서를 주고 받을때 HTTP를 사용해야하고 파일을 주고 받을때는 FTP,  메일은 SMTP,POP등 전송계층과 
  유형에 따라 다양하게 사용된다.

 

포트번호 프로토콜 포드번호 프로토콜
20(데이터전송), 21(제어) FTP 53 DNS
22 SSH 80 HTTP
23 Telnet 443 HTTPS
25 SMTP 110 POP3

 

💯웹 개발에서 HTTP의 중요성

💠클라이언트와 서버 통신은 모두 HTTP를 통해 통신함에 따라 필수 숙지!!!
💠CORS, CORB에러에 대한 디버깅을 위함

 

💯WWW(World Wide Web, 월드 와이드 웹)

💠WWW는 웹페이지를 네트워크 상에 이용하기 위한 구조로 1989년~1991년 발명
💠HTTP 프로토콜을 기조하여 데이터 통신
💠4가지 구조 : 첫째 - HyperText문서를 표현하기 위한 텍스트 형식의 언어 파일HTML
💠4가지 구조 : 둘째 - 인터넷 상에서 문서 등을 교환하기 위한 Protocol HTTP
💠4가지 구조 : 셋째 - 문서를 디스프레이 하기 위한 웹브라우저
💠4가지 구조 : 넷째 - HTTPD의 초기버전으로 문서에 접근하는 HTTp를 지원하는 서버

 

💯HTTP의 변천사

#http #HyperTextTransperProtocol #특징 #Stateless #Stateful #비연결성 #무상태 - ⚡Http 개념, 역사, 특징 - 💯HTTP의 변천사

💠HTTP/0.9 : GET 메서드만 지원, HTTP 헤더 없음
💠 HTTP/1.0 : 메서드, 헤더 추가(⇒ HTML 이외 다른 파일 전송 가능)
💠 HTTP/1.1 : 현재 HTTP/1.1 주로 사용, 우리에게 가장 중요한 버전
💠 HTTP/2 : 성능 개선
💠 HTTP/3 : 진행중, TCP 대신에 UDP 사용, 성능 개선
💠HTTP/1.1, HTTP/2는 TCP 기반이며 HTTP/3는 UDP 기반 프로토콜이다.

 

💯HTTP 특징

💠클라이언트 서버 구조
💠무상태 프로토콜(Stateless)
💠비 연결성(Connectionless)
💠HTTP 메세지 
💠단순함, 확장 가능

 

🖐️HTTP특징 1. 클라이언트 서버구조

💠클라이언트가 서버 요청시 서버는 그에 맞는 응답을 클라이언트로 보내는 서버 구조
💠Request Response 구조
💠클라이언트는 서버에 요청을 보내고 응답을 대기 
💠서버가 요청에 대한 결과를 만들어 응답

#http #HyperTextTransperProtocol #특징 #Stateless #Stateful #비연결성 #무상태 - ⚡Http 개념, 역사, 특징 - 💯HTTP 특징 - 🖐️HTTP특징 1. 클라이언트 서버구조

🖐️HTTP특징 2. 무상태 프로토콜(Stateless)

💠HTTP에서 서버가 클라이언트의 상태를 보존하지 않는 무상태 프로토콜
💠서버가 클라이언트 상태 보존❌
💠장점 : 서버확장성이 높음(스케일 아웃)
💠단점 : 클라이언트가 추가 데이터 전송

 

🤩용어정리

❗용어정리 - 스케일 업(Scale-Up)

	💠기존 서버의 사양을 업그레이드해 시스템 확장을 의미
	💠CPU나 RAM을 추가하거나 고성능의 부품, 서버로 교환방식
	💠하나의 서버를 업그레이드 하기 때문에 수직 스케일이라고 부름

❗용어정리 - 스케일 아웃(Scale-Out)

	💠스케일 아웃은 서버를 여러 대 추가하여 시스템을 확장하는것을 뜻함
	💠서버가 여러 대로 나뉘기 때문에 각서버에 걸리는 부하를 균등하게 해주는 로드밸런싱이 필수 
	💠여러대의 서버로 나눠 시스템을 확장하기에 수평 스케일이라고 부름

#http #HyperTextTransperProtocol #특징 #Stateless #Stateful #비연결성 #무상태 - ⚡Http 개념, 역사, 특징 - 💯HTTP 특징 - 🤩용어정리
#http #HyperTextTransperProtocol #특징 #Stateless #Stateful #비연결성 #무상태 - ⚡Http 개념, 역사, 특징 - 💯HTTP 특징 - 🤩용어정리

 

🖐️HTTP특징 3. 비 연결성(Connectionless)

💠HTTP는 기본이 연결을 유지하지 않는 모델( HTTP 1.0기준으로 HTTP는 연결을 유지하지 않는 모델)
💠일반적으로 초 단위 이하의 빠른 속도로 응답 
	🔎트래픽이 많지❌ 빠른 응답을 제공할수 있는 경우 비연결성의 특징의 효율성⬆️
	🔎동시다발적인 인입이 발생해도 실제 서버에서 동시 처리 요청이 작음

💠트래픽이 많고 큰 규모의 서비스를 운영할 때는 비연결성이 한계가 보임

 


⚡HTTP특징 : 무상태성 


💯Stateful(상태유지) VS Stateless(무상태)

🖐️정리

💠 상태유지 : 중간에 다른 내역으로 바뀌면 안됨 
	( 중간에 다른 상태로 변경시 변경된 내역을 변경된 대상으로 상태 전달)
	1번 서버가 장애가 난다면 상태 정보가 다 날아가기때문에 처음부터 다시 서버에 요청필요 
💠무상태 : 중간에 다른 내역으로 바뀌어도 됨 ( 요청사항이 증가해도 서버를 투입하여 대응 가능 )
	서버가 장애가 나도 다른서버에 상태값이 저장되어있음으로 새로 처음부터 요청이 아닌 다른 서버를 
    통해 동기화

⚡HTTP특징 : 비 연결성


💯연결성(Connection Oriented) VS 비 연결성(Connectionless)

🖐️연결지향(Connection Oriented) - 연결 유지 모델

💠 TCP/IP의 경우 기본적으로 연결을 유지
💠 연결을 유지하는 모델에서는 클라이언트가 요청을 보내지 않더라도 계속 연결을 유지
💠 이러한 경우 연결을 유지하는 서버의 자원이 계속 소모

🖐️비 연결성(Connectionless) - 연결을 유지하지 않는 모델 

💠비 연결성을 가지는 HTTP에서는 실제로 요청을 주고 받을 때만 연결을 유지하고 응답을 주고나면 
   TCP/IP 연결 종료
💠이를 통해 최소한의 자원으로 서버 유지를 가능

 

Ref. https://brunch.co.kr/@swimjiy/47
Ref. https://hanamon.kr/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-http-http%EB%9E%80-%ED%8A%B9%EC%A7%95-%EB%AC%B4%EC%83%81%ED%83%9C-%EB%B9%84%EC%97%B0%EA%B2%B0%EC%84%B1/
Ref. https://omoknooni.tistory.com/13

 

#http #HyperTextTransperProtocol #특징 #Stateless #Stateful #비연결성 #무상태 - ⚡HTTP특징 : 비 연결성 - 💯연결성(Connection Oriented) VS 비 연결성(Connectionless) - 🖐️비 연결성(Connectionless) - 연결을 유지하지 않는 모델 

728x90

댓글