본문 바로가기

전체 글

(27)
TCP와 UDP의 차이점 TCP는 연결 지향형 프로토콜이고 UDP는 데이터를 데이터그램단위로 전송하는 프로토콜입니다. TCP는 가상 회선을 만들어 신뢰성을 보장하도록(흐름 제어, 혼잡 제어, 오류 제어) 하는 프로토콜로 따로 신뢰성을 보장하기 위한 절차가 없는 UDP에 비해 속도가 느린편입니다. TCP는 그래서 파일전송과 같은 신뢰성이 중요한 서비스에 사용되고, UDP는 스트리밍, RTP와 같이 연속성이 더 중요한 서비스에 사용됩니다. 면접 질문 참고사이트 https://github.com/ksundong/backend-interview-question GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질 백엔드 개발자로 입사를 준비하며 받았..
웹 사이트 접속하는 과정 브라우저가 URL에 적힌 값을 파싱해서 HTTP Request Message를 만들고, OS에 전송 요청을 합니다. 이 때, Domain으로 요청을 보낼 수 없기 때문에 DNS Lookup을 수행합니다. DNS 룩업 과정은 크롬의 경우 브라우저 → hosts 파일 → DNS Cache의 순서로 도메인에 매칭되는 ip를 찾습니다. 일반적으로 설명하는 DNS Lookup은 루트 도메인서버에서부터 서브도메인 서버순으로 찾게됩니다. 이 요청은 프로토콜 스택이라는 OS에 내장된 네트워크 제어용 소프트웨어에 의해 패킷에 담기고 패킷에 제어정보를 덧붙여 LAN 어댑터에 전송하고, LAN 어댑터는 이를 전기신호로 변환시켜 송출합니다. 패킷은 스위칭 허브 등을 경유하여 인터넷 접속용 라우터에서 ISP로 전달되고 인터넷으..
2. 개발에 앞서 알면 좋은 기초 지식 1. 서버 간 통신 MSA (Microservice Architecture) 서비스 규모를 작게 나누어 구성한 아키텍처를 의미 각 서비스 간에 통신을 '서버 간 통신' 한 서버가 다른 서버에 통신을 요청하는 것을 의미 한 대는 서버, 다른 한 대는 클라이언트가 되는 구조 가장 많이 사용되는 방식은 http / https 방식 2. 스프링 부트의 동작 방식 spring-boot-starter-web 모듈을 사용하면 기본적으로 Tomcat을 사용하는 스프링 MVC 구조를 기반으로 동작 서블릿 : 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술 서블릿 컨테이너 서블릿을 관리, 서블릿 인스턴스를 생성하고 관리하는 역할 수행 특징 서블릿 객체의 생명주기 관리 서블릿 객체를 싱글톤으로 관리 멀..