728x90
반응형

Java Spring 25

동시 요청 - 멀티 쓰레드

다중 요청 싱글 쓰레드  1번이 쓰레드를 잡고 있으니까, 2번은 기다리다가 타임아웃으로 둘다 죽는다. 요청마다 쓰레드 생성   쓰레드 풀 - WAS는 위의 문제를 해결하기 위해 쓰레드풀을 사용.미리 쓰레드풀을 생성해서 쓰레드를 만들어놓고 대기한다.쓰레드 사용이 끝나고나면 쓰레드 풀에 다시 반납한다.          출처 : 김영한 스프링 MVC

Java Spring 2025.02.25

웹 시스템 구성 - WebServer VS WAS (Web Application Server )

웹 시스템 구성 - WebServer VS WAS (Web Application Server )웹 시스텀의 구성요소Web Server   - 정적인 처리 WAS ( Web Application Server )  - 애플리케이션 로직 처리 DB정적 리소스에 대해서는 WebServer가 처리 WebServer는 애플리케이션 로직등 동적인 처리가 필요하면 WAS에 요청을 위임WAS는 중요한 애플리케이션 로직 처리 전담. [ 효율적인 리소스 관리 ]• 정적 리소스가 많이 사용되면 Web 서버 증설 • 애플리케이션 리소스가 많이 사용되면 WAS 증설

Java Spring 2025.02.25

HTTP ) 헤더2 - ( 캐시 , 조건부 헤더, 프록시캐시 )

캐시의 기본동작 캐시가 없는 경우• 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. • 인터넷 네트워크는 매우 느리고 비싸다. • 브라우저 로딩 속도가 느리다. • 느린 사용자 경험  캐시가 있는 경우캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. • 비싼 네트워크 사용량을 줄일 수 있다. • 브라우저 로딩 속도가 매우 빠르다. • 빠른 사용자 경험  캐시 유효시간이 초과한경우캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다. • 이때 다시 네트워크 다운로드가 발생한다.     중요304 NOT Modified 로 응답을 보낸다.Http 바디가 없다       [ 검증 헤더와 조건부 요청 ] 검증 헤더 • 캐시 데이터와 서..

Java Spring 2025.02.12

HTTP ) 헤더 - ( 표현, 협상 , 일반정보 , 인증 , 쿠키 등.)

용도 • HTTP 전송에 필요한 모든 부가정보   예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보... • 표준 헤더가 너무 많음 • https://en.wikipedia.org/wiki/List_of_HTTP_header_fields• 필요시 임의의 헤더 추가 가능 예  )  gzip ,  deflate , identity협상  예시 )      일반 정보• From: 유저 에이전트의 이메일 정보 • Referer: 이전 웹 페이지 주소 • User-Agent: 유저 에이전트 애플리케이션 정보 • Server: 요청을 처리하는 오리진 서버의 소프트웨어 정보 • Date: 메시지가 생성된 날짜 From  유저 에이전트의 이메일 정보• 일반적으로..

Java Spring 2025.02.10

HTTP ) POST , PUT 정리

POST예시 : 회원관리 시스템 1. 클라이언트는 등록될 리소스의 URI를 모른다.-> 데이터를 서버로 보내면 서버가 알아서 데이터를 처리한다. 2. 서버가 새로 등록된 리소스 URI를 생성해준다.3. 컬랙션 관리방식  - 서버가 관리하는 리소스 디렉토리  - 서버가 리소스의 URI를 생성하고 관리  PUT예시 : 파일관리 시스템 1. 클라이언트는 리소스 URI를 알고 있어야 한다.-> 클라이언트가 등록될 데이터의 URI를 알고 등록, 관리 하는 것  2. 클라이언트가 직접 리소스의 URI를 지정한다.3. 스토어 관리방식   - 클라이언트가 관리하는 리소스 저장소   - 클라이언트가 리소스의 URI를 알고 관리

Java Spring 2025.02.10

HTTP ) 메서드 GET,POST, PUT,PATCH, DELETE

좋은 URI 설계 부터 시작한다. 좋은 URI 설계는 리소스를 식별하는게 중요하다. 회원관리 기능을 기준으로 해보자조회, 등록, 수정, 삭제 기능이 있따고 가정한다.  회원 목록조회   /members회원 조회 /members/{id}   => 어떻게 구분하지..?회원 등록 /members/{id}   => 어떻게 구분하지..? 회원 수정 /members/{id}   => 어떻게 구분하지..?회원 삭제 /members/{id}   => 어떻게 구분하지..? URI가 모두 같은데 어떻게 기능을 구분할까..??=> HTTP 메서드를 행위를 분리 한다.  GETPOST 클라이언트 : 서버 !너한테 정보를 줄테니까, 서버 너가 데이터를 처리해줘 !( 메세지 바디를 통해 데이터를 전달하여, 처리를 요청 )  생성..

Java Spring 2025.02.06
728x90
반응형