목록WEB (4)
나의 개발 일상 기록
LOAD BALANCING 1. 로드밸런싱이란? 트래픽이 많을 때 여러 대의 서버가 분산처리하여 서버의 로드율을 증가, 부하량, 속도저하 등 고려하여 분산처리하여 해결해주는 서비스입니다. 로드밸런싱(Load Balancing)을 해주는 소프트웨어 혹은 하드웨어 장비를 로드밸런서(Load Balancer)라고 합니다. 동작 방식 1. 네트워크 상단에 L4 스위치 가상서버가 존재하여 서버로 들어오는 패킷을 리얼 서버로 균일하게 트래픽을 분산 2. 서버에 장애가 발생하면 이를 감지하여 정상적으로 작동하는 서버로 트래픽을 분산 2. L4 Load Balancing L4는 L4 계층에서 동작하는 Load Balancer 이므로 네트워크 계층이나 트랜스포트 계층의 정보를 바탕으로 로드를 분산합니다. 다시 말해,, ..
Retrofit이란 Retrofit은 Java에서 REST Client를 간편하게 구현할 수 있도록 기능을 제공하는 라이브러리()입니다. Spring Web에서 제공하는 RestTemplate도 이와 동일한 기능을 제공하지만, Retrofit 을 사용할 때의 코드 가독성고 편의성이 좀 더 높습니다. ( https://square.github.io/retrofit/ ) Retrofit의 특징 Retrofit 은 Annotation과 Interface로 선언된 HTTP API 명세를 기반으로 HTTP API 구현체를 생성해줍니다. Retrofit 은 HTTP API의 요청과 응답에서 타입을 강제하여 Type Safe 한 장점을 제공합니다. 타입이 강제되기 때문에 개발 과정에서 요청과 응답에 대한 예측이 가능..
HTTP 상태 코드 정리 * 빨간색은 자주 사용하는 HTTP 상태 코드입니다. 1. 1XX : 요청을 받았으며 프로세스를 계속 진행합니다. 100 Continue 임시적인 응답은 지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다. 101 Switching Protocol 이 코드는 클라이언트가 보낸 Upgrade 요청 헤더에 대한 응답에 들어가며 서버에서 프로토콜을 변경할 것임을 알려줍니다. 102 Processing 이 코드는 서버가 요청을 수신하였으며 이를 처리하고 있지만, 아직 제대로 된 응답을 알려줄 수 없음을 알려줍니다. 103 Early Hints 이 상태 코드는 주로 Link 헤더와 함께 사용되어 서버가 응답을 준비하는 ..
보안 요소 관련 Coding SQL InJection 기호 치환 1. SQL InJection 공격 - 입력란에 SQL을 삽입하여 무단으로 DB를 조회하거나 조작하는 보안 약점입니다. 2. 관련 Coding * " : 쌍따옴표(") ' : 따움표(') : 공백 < : 부등호() & : 앰퍼샌드(&) 기호 # : sharp(#) XSS 방지 1. 크로스사이트 스크립팅(XSS) - 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점입니다. 2. 관련 Coding * (?!) : 앞 부분에 (?!)라는 옵션을 넣어주게 되면 대소문자는 구분하지 않습니다.