본문 바로가기

database

http의 간략한 개념과 큰 특징

        HTTP란 ?? 

 

  • HTTP는 하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol)입니다. 
  • HTTP는 월드 와이드 웹(WWW)에 내재된 프로토콜입니다.
  • HTTP는 인터넷에서 데이터를 주고 받을 수 있는 프로토콜입니다.

 

     여기서의 프로토콜(Protocol)이란?

 

     프로토콜은 규약을 의미하는데  ' 네트워크(관계망)에서 데이터를 주고받을 때 범세계적 공통의 협약을 말합니다. '

     데이터를 보내고 받는 성격에 따라 프로토콜이 만들어졌는데  HTTP를 사용해야하고 파일을 주고 받을 때는 FTP, 메일은 SMTP, POP       등 전송 계층과 유형에 따라 다양하게 만들어져있습니다.

 

    & HTTP의 특징 &

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

 

   1. 클라이언트 서버 구조

 

      클라이언트가 서버에 요청을 보내면 서버는 그에 대한 응답을 보내는 클라이언트 서버 구조로 이루어져 있습니다.

  • Request Response 구조로 웹상에서 정보를 주고 받을수 있는 프로토콜입니다. 
  • 클라이언트는 서버에 요청을 보내고 응답을 대기
  • 서버가 요청에 대한 결과를 만들어 응답

 

  2. 무상태 프로토콜 – Stateless

 

    Connectionless로 인해 서버는 클라이언트를 식별할 수가 없는데, 이를 Stateless라고 합니다.

   클라이언트의 상태를 모른다는 것은 예를 들면 다음과 같습니다. 

  1. 쇼핑몰에 접속
  2. 로그인 
  3. 상품 클릭 -> 상세화면으로 이동
  4. 로그인
  5. 주문
  6. 로그인
  7. ....

즉,  사이트에 접속하고 로그인을 한 상태에서 사이트내의 정보나 사이사이마다 새로운 인증을 해야하는 번거로움이 발생하게 됩니다.

 

이런상태를 기억하기위해서는 어떠한 방법이 필요할까요 ?

 

답은  쿠키와 세션 , JWT 입니다. (https://knuckles6974.tistory.com/manage/newpost/type=post&returnURL=%2Fmanage%2Fposts%2F)

 

 

3.비 연결성 – Connectionless

 

 HTTP는 서버에 연결후 요청에 응답을 받으면 연결을 끊어버리는 비연결성이라는 특성을 갖습니다. 이로인해 많은 사람이  웹을 이용하더   라도  실제 동시접속을 최소화하여 더 많은 유저의 요청을 처리 할 수 있습니다. 하지만 연결을 끊었기때문에  클라이언트의 이전상태를 알수없는 위의 2번의 상태( Stateless )   되는 것입니다.  

 

또한 HTTP는 정보를 text형식으로 주고받기 때문에 중간에  탈취당할경우 데이터유출이 발생할 수 있으므로 HTTP에 암호화를 추가한 프로토콜이 바로  HTTPS 입니다. 

 

 

 

 

 

 

 

 

Reference : 

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/.

 

https://victorydntmd.tistory.com/286

 

 

 

 

 

 

 

'database' 카테고리의 다른 글

MySQL 아키텍쳐  (0) 2023.04.04
JWT의 정의  (0) 2022.06.09
쿠키와 세션  (0) 2022.05.21
DNS란 무엇인가?  (0) 2022.05.07
로드밸런서(ELB)  (0) 2022.05.06