Socket(소켓) : 운영체제가 가지고 있는 것
소켓통신
A와 B가 채팅을 하려고 한다.
A가 5000번 소켓을 오픈한다. -> 5000번은 연결용도의 소켓이다.
B와 연결이 되면 5000번은 닫히고 예를들어 5001번 소켓으로 연결되어 채팅를 한다.
5001번을 만들 때는 새로운 스레드를 만듬
5000번 - 메인스레드로 연결만 해주는 기능
소켓통신의 장점
연결이 끊어지지 않지만 부하가 크다.
스레드를 이용하면 time slice를 통해서 동시동작 처럼 보이게 시간을 쪼개서 동작시킬 수 있다.
http통신
- 문서를 전달하는 통신
- http 확장자로 만들어진 문서를 필요한 사람에게 제공
- statless 방식 사용
- 한 소켓으로 명령을 수행하고 끊어버림
- 전에 통신했던 사람인지 인식하지 못함
웹 서버
- 내 컴퓨터에 있는 파일을 친구에게 공유한다고 한다.
- ip주소, 필요한 자원의 위치를 가지고 request라는 요청을함
- 요청이 오면 그 정보를 토대로 response(응답)을 해준다.
- 나는 친구의 ip주소를 알 필요가 없다. 요청이 올 때 응답만 해주면 된다.
- 정해진 요청에 정해진 자원(static자원) / 정적인 자원을 줌
톰켓
- 웹서버에 요청(request)으로 .jsp나 자바 코드를 보내면 이 언어를 알지 못한다.
- 이때 톰켓을 사용하면 .jsp안에 자바 코드를 컴파일하고, 컴파일된 데이터를 .html에 덮어씌운다.
- .html을 웹서버에 돌려주고 이 파일을 응답해준다.
- 웹브라우저는 .html, javaScript, css, avi 등을 읽고 보여줄 수 있다.
- 톰켓은 웹브라우저에 들어온 .jsp파일을 .html파일로 변환해주어 웹브라우저에서 열 수 있게 바꿔준다.
'[Spring Boot] 스프링부트 (IntelliJ) > Spring boot' 카테고리의 다른 글
[Spring boot] FrontController, RequestDispatcher, DispatchServlet (0) | 2024.02.14 |
---|---|
[Spring boot] web.xml (0) | 2024.02.14 |
junit을 이용한 테스트2 (0) | 2024.01.05 |
junit을 이용한 테스트 기본 동작 (0) | 2024.01.05 |
로깅이란? (0) | 2023.12.22 |