August 03, 2025
낙관적 인 개발이란? 사전상 낙관은 "미래를 밝고 희망적으로 보는 것" 이라고 정의한다. 이런 의미를 개발에 접목하여 해석하면 "어떤 공정(task)이 성공적으로 실행될 것이라 보는 것" 이라 할 수 있을 것 같다. 그렇다면 낙관적 개발은 "어떤 공정이 성공적으로 실행될 것이라 가정하고, 개발하는 것" 이라 해석할 수 있다. 성공과 실패의 여부를 확인한…
June 16, 2025
쿠키란? 서버에서 생성되어 클라이언트 측에 저장되는 데이터로, 상태를 유지하지 않는 HTTP의 특성을 보완하기 위한 수단이다. 쌍의 형태를 띠고 있으며, 추가로 적용 범위와 만료 기간 등 다양한 속성을 가질 수 있다. 서버는 쿠키를 생성하여 클라이언트에게 전송하고, 클라이언트는 전달받은 쿠키를 저장해 두었다가 추후 동일한 서버에 보내는 요청 메시지에 쿠…
June 14, 2025
캐시란 불필요한 대 역폭 낭비와 응답 지연을 방지하기 위해 정보의 사본을 임시로 저장하는 기술이다. 캐시는 웹 브라우저에 저장되는 개인 전용 캐시(private cache) 와 중간 서버에 저장되는 공용 캐시(public cache) 가 있다. 캐시는 어디까지나 임시의 사본이기 때문에 원본 데이터가 바뀐다면 캐시도 갱신해야 한다는 절대적인 원칙이 있다.…
June 11, 2025
HTTP 헤더 HTTP 헤더는 요청시 활용되는 헤더와 응답 시 활용되는 헤더, 그리고 요청과 응답 모두에서 자주 활용되는 헤더순으로 설명할 수 있다. 요청 시 활용되는 HTTP 헤더 1. Host 요청을 보낼 호스트를 나타내는 헤더이다. 주로 도메인 네임으로 명시되며, 포트 번호가 포함되어 있을 수 있다. 아래 예시는 http://naver.com/use…
June 10, 2025
우리가 흔히 안정 성 있는 시스템을 말하면, 언제든 원활하게 접근 가능한 시스템을 말하는 것 처럼 안정성은 "특정 기능을 언제든 균일한 성능으로 수행할 수 있는 특성"이라 정의할 수 있다. 가용성 이런 안정성의 정도를 나타내는 용어로 가용성과 고가용성이 있다. 가용성이란, "컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율"을 의미한다. 정…
May 30, 2025
HTTP의 특성 Hypertext Transfer Protocol의 약자로 응용 계층에서 정보를 주고 받는데 사용되는 프로토콜이다. 요청-응답 기반 프로토콜 HTTP는 클라이언트와 서버가 서로 HTTP 요청 메시지와 HTTP 응답 메시지를 주고 받는 구조로 동작한다. 그렇기 때문에 같은 HTTP를 따른다 하더라도 요청 HTTP 메시지와 응답 HTTP 메…
May 23, 2025
도메인 네임과 네임 서버 네트워크 상 에서 어떤 호스트를 특정하기 위해 IP 주소를 사용하고 있다. 하지만 오로지 IP 주소만을 사용한다면 원하는 특정 호스트의 IP 주소를 모두 외워둬야 하는 문제가 발생한다. 이를 위해 IP 주소 대신 도메인 네임을 사용하며, 도메인 네임과 IP 주소는 네임 서버에서 관리한다. 이중 도메인 네임을 관리하는 네임 서버는 D…
May 21, 2025
TCP는 데이터 송수신 과정에서 신뢰성을 보장하기 위해 오류 제어, 흐름 제어, 혼잡 제어의 기능을 제공한다. 오류 제어: 재선송 기법 TCP는 신뢰성 있는 통신을 위해 오류를 감지하고, 오류를 감지한 세그먼트를 재전송하는 방법을 사용한다. 먼저, TCP가 오류를 감지하는 방법을 알아보자. TCP의 오류 감지 1. 중복된 ACK 세그먼트를 수신했을 때…
May 13, 2025
TCP와 UDP는 전송 계층에서 가장 중요한 프로토콜 이다. TCP는 신뢰할 수 있는 통신을 위한 연결형 프로토콜이고, UDP는 TCP 보다는 신뢰성이 떨어지지만 비교적 빠른 통신이 가능한 비연결형 프로토콜이다. TCP 통신 단계와 세그먼트 구조 TCP 통신은 크게 세 단계로 나눌 수 있다. 통신하기 전에 연결을 수립하고 데이터 송수신 과정에서 재전송을…