서버에서 데이터를 가져올 때 URL을 통한 요청 방식(페이지 요청)
부분적으로 정보를 갱신할 수 있는 데이터 요청
동일한 페이지의 일부만 수정할 수 있게된다.
같은 패키지에서는 접근 제한이 없지만, 다른 패키지에서는 자식 클래스만 접근을 허용한다.
다른 패키지에서 extends A {} 로 A를 상속받았다면, A의 protected 멤버를 사용할 수 있다.
API가 서버에서 자원에 접근할 수 있도록 하는 URL
메서드가 같은 URL들에 대해서도 다른 요청을 하게끔 구별하게해준다.
스프링의 Logging Framework (Simple Logging Facade For Java)
클래스에 @Log4j2 어노테이션 달기
메세지 전송을 효율적으로 하기 위한 프로토콜
PUB / SUB 구조로 되어있다. (메시지를 전송/ 받아서 처리하느 ㄴ부분이 확실하게 구조로 정해져있다)
Publisher. 채팅방에 글을 써서 보내는 행위
Subscriber. 채팅방에 들어가는 행위
채팅방을 생성하는 것
publisher로부터 받은 메세지를 subscriber에게 전달해주는 중간 역할을 한다
설정 파일을 만들거나, bean을 등록하기 위한 annotation
빈을 등록할 때 싱글톤이 되도록 보장해준다.
스프링 컨테이너에서 빈을 관리할 수 있게 된다.
@Bean 어노테이션은 반드시 @Configuration과 함께 사용해야만 싱글톤이 보장된다.
빈을 등록해야하는 이유는?
등록해서 좋은 점은 뭐지?
등록해야하는 순간은 언제지?
의존성 주입이 이루어진 후 초기화를 수행하는 메소드
클래스가 service를 수행하기 전에 발생한다
다른 리소스에서 호출 되지 않는다고 해도 수행된다.
빈이 초기화됨과 동시에 의존성을 확인할 수 있다.
빈이 여러번 초기화되는 것을 방지할 수 있다.
클라이언트가 서버에게 현재 연결된 프로토콜을 다른 프로토콜로 바꾸도록 요청하는 것
어떤 프로토콜로 바꾸느냐?
아래에 있는 Upgrade : "websocket"으로 바꿔달라는 것이다.
Upgrade는 반드시 "websocket"이라는 값을, connection은 반드시 "upgrade"라는 값을 가지고, 만약 이 값이 없거나 다른 값이면 cross-protocol attack으로 간주하고 웹소켓 접속 과정을 중단한다.