보안이 하고싶은 joseph

HTTP 프로토콜의 특징 본문

소소한 Tip

HTTP 프로토콜의 특징

joseph94 2020. 8. 10. 23:24
반응형

오늘은 HTTP프토로콜의 의미와 특징에 대해 간단하게 설명하겠습니다.

 

HTTP란 (Hyper Text Transfer Protocol)의 약자이며 OSI 계층 중 어플케이션 계층에 속하는 프로토콜입니다.

 

 

HTTP 프로토콜의 특징은 크게 두가지가 있습니다. 

● 비연결형(Connectionless)

상태정보를 유지하지않는(Stateless)

 

 

 

1) 비연결형이란 클라이언트와 서버간에 TCP연결설정 (3-way-handshake) 이 이뤄지고 난뒤 

 

클라이언트는 웹서버에게 서비스를 요청 합니다. 서버는 그에 응하는 서비스를 제공하고 클라이언트는  요청한 서비스를 제공받으면 연결을 종료시킵니다. 이러한 이유 때문에 비연결형 프로토콜 이라고 합니다.

 

비연결형인 이유는 동시에 다수의 연결이 들어오면 서버는 이를 처리하기위해 부하가 생기기때문입니다.

 

 

해결책 :

 

이러한 특징의 해결책은 Keep-Alive 속성을 추가했다는것입니다

 

HTTP 1.0 이하 버전은 연결을 바로 종료했지만 HTTP 1.1부터 헤더에 Keep-Alive 옵션이 추가되어 연결을 지속시킬수 있게 되었습니다.

 

2)  Stateless는 직역 그대로 연결상태를 유지하지않는 것이 특징입니다.

위에 말한 비연결형의 특징과 비슷하지만 다릅니다.

 

상태정보를 유지하지 않는다는 것

즉, 동일클라이언트한테서 온 현재 요청과, 이전요청을 구분하지 못한다는 뜻입니다. (각각 통신은 독립적)

연결에 대해서  클라이언트의 상태정보를 유지하지 않는다는 의미인데요.

상태정보를 유지하는 기술의 예를 들면 다음과 같습니다

 

  • 쇼핑몰의 장바구니 기능
  • 웹사이트에 로그인 한 후 상태 유지

해결책 : 

 

이런 특징 해결책은 쿠키와 세션 방식사용 입니다.

 

※ 쿠키 : 서버에 저장지않고 클라이언트에 저장되는 방식으로 개별 클라이언트 상태정보를 HTTP 헤더에 담아 전달하는              데이터입니다.

  세션 : 쿠키와 반대로 클라이언트에 저장되는것이 아니라 서버에 데이터를 저장하는 방법입니다.

 

 

반응형
Comments