Http

mae3co·2022년 7월 25일
0

네트워크

목록 보기
1/1

http 메시지에 모든 것을 전송함
서버간에 데이터를 주고 받을 때도 대부분 http사용
거의 모든 형태의 데이터를 전송할 수 있음
=> http시대!

http역사
http 1.1 : 가장 많이 사용하며 우리에게 가장 중요한 버전 (RFC2616 -> RFC7230~7235)
http2, 3은 성능에 초점이 맞춰져있음

TCP - HTTP1.1, 2
udp - http3

3way handshaking도 해야하고 그래서 udp 사용해야지 !

클라이언트 서버 구조

request response 구조
클라이언트는 서버에 요청을 보내고 응답을 대기
서버는 요청에 대한 결과를 만들어서 응답

이렇게 기능이 갈려있음
클라이언트는 ui ux에 집중하면 됨
서버는 백엔드기술만 고민하면 됨 (ex, 트래픽이라던지..)
이렇게 사용하면 양쪽을 독립적으로 진화할 수 있음

무상태 프로토콜 = stateless

서버가 클라이언트의 상태를 보존하지 않음

stateful , stateless차이

stateful - 상태유지


=> 중간에 점원이 바뀌면, 노트북 구매와 결제에 대해서 문제가 생김 실제라면 장애가 터지는 것

많은 기능을 하는 서버군때문에 쉽게 느릴 수 없음, 중간에 서버가 장애가 나면 처음부터 다시 요청하여 통신해야 함

stateless - 무상태

=> 중간에 점원이 바뀌어도, 노트북 구매와 결제에 대해서 문제가 없음, 매번 넘기는 정보가 구체적임

갑자기 클라이언트 요청이 증가해도 서버를 대거 투입 가능함
무상태로 설계를 하면 무한 서버 증식이 가능함

무상태는 응답서버를 쉽게 바꿀 수 있음

아무 서버나 호출해도 됨
서버군이 모두 같은 기능을 함

장점이있다고 모든 것을 다 stateless로 설계할 수 있는 건 아님
무상태 - 로그인이 필요 없는 단순한 서비스 소개 화면
상태유지 - 로그인
로그인한 사용자의 경우 로그인을 했다는상태를 서버에 유지
일반적으로 브라우저 쿠키와 서버 세션등을 사용해서 상태 유지
상태유지는 최소한만 사용함

그래도 최대한 stateless 로 설계하는 게 맞음 !!!

profile
매 삼 코 ,

0개의 댓글