HTTP 특징

HYK·2022년 5월 21일
0

http

목록 보기
1/1

HTTP란?

Http(Hyper Text Transfer Protocol)는 말 그대로 하이퍼텍스트를(html 등) 교환하는 프로토콜이다.

요즘은 Http를 이용해서 json, xml, image, video 등 다양한 데이터들을 통신한다.

특징

1. 무상태

  • 무상태 프로토콜이라는 것은 말 그대로 상태를 유지하지 않는 프로토콜이라는 뜻이다.
    즉 접속한 클라이언트의 상태를 서버에서 보존하지 않아도 된다는 뜻이다.

  • 예시

  1. client A 이 있다. server Aserver B는 이 클라이언트의 요청에 응답한다.
  2. 이때 client A가 결제 요청을 server A에게 보냈다.
  3. 결제 응답을 하던 도중에 server A에서 장애가 발생해 같은 서비스 중인server Bclient A의 요청을 이어서 처리하려고 한다
  4. 이때 StateFul(상태 유지) 와 Stateless(무상태)의 차이가 생긴다
  • StateFul(상태 유지)이라면 처음 처리 중이던 서버인 server Aserver B에게 처리 중이던 프로세스를 인수인계하지 않는다면 클라이언트들은 처음부터 요청을 해야 한다.

  • 반대로 Stateless(무상태) 라면?
    상태를 요청하는 클라이언트가 알려주기 때문에 중간에 server가 바뀌더라도 요청을 응답받는데 아무런 지장이 없다.

StateFul(상태 유지)

  • 장점 : 서버를 중간에 바꿔도 클라이언트 입장에서는 상관없기 때문에 언제든지 접속자 수에 따라서 리소스를 늘렸다가 줄였다가 효율적으로 구성할 수 있다.

  • 단점 : 상태 유지와 달리 현재 상태를 클라이언트 각각이 추가 데이터로 전송해야 하는 단점이 있다.

Stateless(무상태)

  • 장점 : 클라이언트는 현재 상태를 서버 측으로 추가로 보내지 않고 쭉 프로세스를 이어나갈 수 있다.

  • 단점 : 하지만 중간에 응답 서버가 바뀐다면 위의 장점은 말짱 도루묵이다.

2. 비연결성

  • 비연결성은 클라이언트가 요청했을 때 계속 연결 상태로 두지 않고 데이터 전송 후에 바로 연결을 유지하지 않고 끊는다는 특징을 말한 것이다.

장점

  • 자원을 효율적으로 사용 가능하다
    만약에 연결이 지속되고 있다면 서버에서는 각 접속 인원마다 서버의 스레드를 계속 할당해야 하지만 버튼을 누르는 잠시 동안만 통신하고 다른 요청에 스레드를 할당하는 것과 같이 자원을 효율적으로 사용할 수 있다
profile
Test로 학습 하기

0개의 댓글