스프링부트 동작 원리-1

joon·2021년 7월 11일
0

스프링부트 이론

목록 보기
4/5

소켓 통신과 http통신 개념

  • 소켓 통신 과정

B가 A와 통신하고 싶으면 5000(포트번호)와 A의 IP주소를 입력해서 연결하면 포트 5000번에 연결이 된다. 연결이되는 순간 A와 B는 메세지를 주고받을 수 있는 통신이 가능하다.
그 와중에 C가 A와 통신하고 싶을 때 5000번은 A와B가 통신하는데 사용되고 있기 때문에 C가 5000번과 연결할 방법이 없다. 그래서 최초의 5000번 포트는 연결 용도로만 사용되고 5000번 포트에 연결되는 순간 새로운 소켓이 생성된다. 5001번 포트가 생성된다. 통신 용도 포트이다. 그렇게 5001번 포트가 생성되면 쓰레드가 생성되고 B와 5000번포트의 연결은 끊긴다. C와 5000번 포트가 연결이 되고 그 순간 5002번 포트가 생성 된다. B처럼 C와 A의 통신은 5002번으로 하고 5000번 포트는 새로운 사용자의 요청을 받아야하므로 C와의 연결을 끊는다.

쓰레드를 이용해 시간을 쪼개서 프로그램의 통신이 동시에 동작하는 것처럼 보이게한다.
소켓 통신은 연결이 끊어지지않고 계속 유지되지되어 서버 A입장에서는 B가 누구인지 계속 잘 파악할 수 있다(연결대상). 하지만 생각보다 부하가 크다.(느려질 수 있다.)

  • http통신 과정

    http통신의 목적은 html확장자로 만들어진 문서를 필요한 사람에게 제공하는 것이다.
    http통신은 stateless방식이다.(연결을 지속시키지않고 끊는 방식) 단순히 문서를 전달하는 방식이다.
    http통신의 장점은 작업을 완료하고 연결을 매번 끊기 때문에 부하가 적다. 단점은 이전에 연결 했던 대상이 다시 또 연결하고자 할 때 이전에 연결했었던 대상이라고 생각 못하고 새로운 대상이라고 인식한다. 이런 단점들을 보완하면서 만들어진 것이 웹서버이다.


    유튜브 출처: 데어프로그래밍
profile
개발 및 공부 일기 블로그

0개의 댓글