카탈리나 구조 커넥터 (n) ----- 컨테이너 (1) 커넥터 : 요청을 전달해주는 모듈 커넥터는 요청객체와 응답객체를 전달해주고 컨테이너는 service()를 실행 http요청 : 메소드 - 요청url - http버전 요청 헤더 엔티티 본문 헤더와 본문사이는 빈줄로 구분 헤더 시작은 스페이스바 or tab 줄구분은 CRLF(개행)으로 구분 본문이 내용이없어도 CRLF해줘야하지만 안해줄경우도 구현해줘야한다 http응답 : http버전 - 상태코드 - 사유구절 응답 헤더 엔티티 본문 서버소켓 : 연결요청을 기다리는 소켓 서버소켓은 리슨하고있을 바인드주소를 결정해야함 보통 서버컴퓨터(자기자신 127.0.0.1)을 바인드 시킴 백로그 : 최대연결개수 백로그값이 넘어가면 요청거부 리스트 1.2 HttpServe..
tcp는 세그먼트 단위로 데이터스트림을 나누고 ip패킷이라는 봉투에 담아서 데이터를 보낸다 ip패킷은 ip패킷 헤더, tcp 세그먼트, tcp 데이터조각 tcp 세그먼트 : 데이터 스트림 덩어리를 운반하고 ip 패킷 : tcp 세그먼트를 운반 컴퓨터는 항상 여러개의 tcp 커넥션을 가지고있다 ip주소는 서버주소 포트번호는 어플리케이션 주소 tcp 커넥션은 다음의 4가지를 가지고있따 발신자 ip주소, 발신지 포트번호,수신자 ip주소 수신지 포트번호 서로 다른 tcp커넥션이 위 4가지가 모두 같을수없다 (일부는 같을수있다) 소켓 API 호출 설명 s = socket( (param eters)) 연결이 되지 않은 익명의 새로운 소켓 생성 bind(s, (local IP:port>) 소켓에 로컬 포트 번호와 인..
DI : 종속객체 주입 DI를 다른말로 와이어링 이라고 한다 빈 설정 방식 1. XML을 이용한 명시적 설정 2. JAVA을 이용한 명시적 설정 3. 내장되어있는 빈을 알아서 찾아서 하는 자동설정 다양한 방법이있지만 무엇을 쓰든 개인취향 하지만 추천하자면 자동설정 > JAVA config > XML config 스프링의 자동설정 1. 컴포넌트 스캐닝 - Application Context에 생성되는 빈을 자동으로 발견 2. 오토와이어링 - 자동으로 빈 의존성을 충족 @ComponentScan, @Configuration 이게 붙어있으면 스프링이 빈으로 생성한다 Configuration : 스프링이 빈을 생성하기 위해 표시하는 어노테이션이며 빈을 1개만 생성하게해준다 @Bean은 여러개 생길수도있다. 코드..