1. 소켓통신이란?
- socket: 운영체제가 가지고 있는 것.프로세스가 드넓은 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 하는 것을 의미한다.
: A라는 클라이언트가 C에 통신을 요청하게 되면, 메인 소켓이 이 요청을 받아 이 통신을 처리할 소켓과 쓰레드를 추가적으로 생성해 통신을 할당한다. 이후 A와C의 연결은 끊기고, 메인 소켓은 B의 연결요청을 받아 또 다시 새로운 소켓과 쓰레드를 생성해 통신을 할당할 수 있게 된다. 위와 같은 작업을 반복해 소켓을 통해 통신을 하는 방식을 소켓 통신이라고 한다.
: 소켓통신은 연결된 통신이 자동적으로 끊어지지 않고, 유지되기 때문에 통신을 요청하는 수가 많아질 수록 부하가 비례해서 증가하게 된다.
2. http 통신이란?
: 연결을 지속시키지 않고, 끊어버리는 stateless 방식을 선택해 이용하는 통신이다.
: 즉, 특정 파일에 대한 요청을 하는 경우, socket이 해당 파일을 찾아 반환한 후, 즉시 통신을 끊어버린다.따라서, 소켓통신과 달리 연결을 지속하지 않아, 상대적으로 부하가 적은 통신방식이다.
: 하지만, 소켓통신과 달리 response를 넘겨주는 동시에 통신이 끊기므로, 각각의 request에 대해 식별이 불가능하다.
'Spring' 카테고리의 다른 글
[메타코딩] 9강. 스프링 부트의 동작원리? (1) | 2023.09.21 |
---|---|
[메타코딩] 8강. 스프링 부트의 동작원리? (0) | 2023.09.21 |
[메타코딩] 6강. JPA(Java Persistence API)란? (0) | 2023.09.15 |
[메타코딩] 5강. JPA(Java Persistence API)란? (0) | 2023.09.15 |
[메타코딩] 4강. JPA(Java Persistence API)란? (0) | 2023.09.10 |