방구석 코딩쟁이
close
프로필 배경
프로필 로고

방구석 코딩쟁이

  • 분류 전체보기 (85)
    • 프로그래밍 언어 (1)
      • Typescript (1)
      • Javascript (0)
    • 프론트엔드 개발 (30)
      • React (10)
      • Next.js (1)
      • 개발환경 (4)
    • 백엔드 개발 (5)
      • Node.js&Nest.js (5)
    • 프로그래밍 방법론 (12)
      • 함수형 프로그래밍 (5)
      • 객체지향 프로그래밍 (0)
      • 테스트코드 (2)
      • 디자인패턴 (1)
      • 도메인 주도 설계 (4)
      • 아키텍처 (0)
    • 개발환경 (3)
      • Docker (2)
      • Git (1)
      • 클라우드 (0)
    • CS지식 (14)
      • 알고리즘 (0)
      • 자료구조 (1)
      • 데이터베이스 (0)
      • 네트워크 (11)
      • 운영체제 (0)
      • 코딩테스트 (2)
    • 프로젝트들 (5)
      • 졸업작품 (3)
    • Life (14)
      • 계획 (0)
      • 회고 (12)
      • 독후감 (1)
    • 수학 (0)
      • 통계학 (0)
      • 선형대수학 (0)
  • 홈
[HTTP 완벽가이드] 07. 캐시

[HTTP 완벽가이드] 07. 캐시

웹 캐시는 자주 쓰이는 문서의 사본을 자동으로 보관하는 HTTP 장치이다.웹 요청이 캐시에 도착했을 때, 캐시된 로컬 사본이 존재한다면 문서는 원 서버가 아닌 그 캐시로부터 제공된다. 캐시의 장점불필요한 데이터 전송을 줄여 네트워크 비용을 줄일 수 있다.네트워크 병목을 줄여준다.원서버에 대한 요청을 줄여준다.캐시는 물리적 거리로 인한 페이지 요청 지연 시간을 줄여준다.불필요한 데이터 전송복수의 클라이언트가 자주 쓰이는 원 서버 페이지에 접근 시, 서버가 같은 문서를 클라이언트에게 각각 한 번씩 전송한다면?똑같은 바이트들이 네트워크를 통해 계속 반복해서 이동하게 된다.  캐시를 이용하면, 첫 번째 서버 응답은 캐시에 보관되어 중복해서 트래픽을 주고 받는 낭비를 줄일 수 있다. 대역폭 병목캐시는 네트워크 ..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 10. 18.
  • textsms
[HTTP 완벽가이드] 06. 프락시

[HTTP 완벽가이드] 06. 프락시

웹 프락시 서버는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP 메시지를 정리하는 중개인처럼 동작한다. 웹 중계자웹 프락시 서버는 클라이언트 입장에서 트랜잭션을 수행하는 중개인이다.프락시가 없을 때 ➡️ 프락시 서버와 통신프락시가 있을 때 ➡️ HTTP 서버와 직접 통신HTTP 프락시 서버는 웹 서버인 동시에 클라이언트이다. HTTP 클라이언트의 요청을 받고, 요청을 서버로 보내기도 하기 때문이다.  1) 개인 프락시와 공유 프락시프락시 서버는 하나의 클라이언트가 독점적으로 사용할 수도 있고, 여러 클라이언트가 공유할 수도 있다. 2) 프락시 대 게이트웨이 프락시: 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결게이트웨이: 서로 다른 프로토콜을 사용하는 둘 이상을 연결 실질적으로 프락시와..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 10. 13.
  • textsms
[HTTP 완벽가이드] 05. 웹 서버

[HTTP 완벽가이드] 05. 웹 서버

다채로운 웹서버 웹 서버는 HTTP 요청을 처리하고 응답을 제공한다. 1) 웹 서버 구현웹 서버는 HTTP 처리를 구현한다. 웹 서버는 제공하는 리소스를 관리하고, 웹 서버를 설정, 통제, 확장하기 위한 관리 기능을 제공한다.웹 서버는 여러 형태로 존재한다.다목적 소프트웨어 웹 서버를 표준 컴퓨터에 설치하고 실행한 것몇 개의 컴퓨터 칩만으로 구현된 웹 서버를 내장시켜서 완전한 관리 콘솔로 제공한 것2) 다목적 소프트웨어 웹 서버다목적 소프트웨어 웹 서버는 네트워크에 연결된 표준 컴퓨터 시스템에서 동작한다. 아파치, Nginx, W3C의 직소 같은 오픈소스 소프트웨어를 사용하거나 마이크로소프트나 아이플래닛의 웹 서버 같은 상용 소프트웨어를 사용할 수 있다. ➡️ 웹 서버 소프트웨어는 거의 모든 컴퓨터와 운..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 10. 4.
  • textsms
[HTTP 완벽가이드] 04. 커넥션 관리

[HTTP 완벽가이드] 04. 커넥션 관리

TCP 커넥션HTTP 통신은 패킷 교환 네트워크 프로토콜의 계층화된 집합인 TCP/IP를 통해 이뤄진다.커넥션이 맺어지면 클라이언트와 서버 컴퓨터 간에 주고 받은 메시지는 안전하게 전달된다. 브라우저에 http://www.joes-hardware.com:80/power-tools.html을 입력하면 아래와 같이 실행된다.  1) 신뢰할 수 있는 데이터 전송 통로인 TCPTCP는 HTTP에게 신뢰할만한 통신 방식을 제공한다.TCP 커넥션 한쪽에 있는 바이트들은 반대쪽으로 순서에 맞게 정확하게 전달된다. 2) TCP 스트림은 세그먼트로 나뉘어 IP 패킷을 통해 전송된다.TCP는 IP 패킷이라 불리는 작은 조각을 통해 데이터를 전송한다.HTTP가 메시지를 전송하고자 할 때, 현재 연결되어 있는 TCP 커넥션을..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 9. 29.
  • textsms
[HTTP 완벽가이드] 03. HTTP 메시지

[HTTP 완벽가이드] 03. HTTP 메시지

[메시지의 흐름]HTTP 메시지는 HTTP 애플리케이션 간에 주고받은 데이터의 블록들이다. 데이터 블록들은 메시지의 내용과 의미를 설명하는 텍스트 메타 정보로 시작하고, 그 다음에 선택적으로 데이터가 올 수 있다.메시지는 클라이언트, 서버, 프락시 사이를 흐르며, '인바운드', '아웃바운드', '업스트림', '다운스트림'은 메시지의 방향을 의미하는 용어다.  1) 메시지는 원 서버 방향을 인바운드로 하여 송신된다.HTTP는 인바운드와 아웃바운드라는 용어를 트랜잭션 방향을 표현하기 위해 사용한다. 인바운드: 메시지가 원 서버로 향하는 것아웃바운드: 메시지가 사용자 에이전트로 돌아오는 것 2) 다운스트림으로 흐르는 메시지요청 메시지냐 응답 메시지냐에 관계없이 모든 메시지는 다운스트림으로 흐른다. [메시지의 ..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 9. 23.
  • textsms
프론트엔드에서의 MVC/MVVM 패턴을 알아보자

프론트엔드에서의 MVC/MVVM 패턴을 알아보자

MVC 패턴이란 무엇일까?MDN에 따르면 MVC는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 이 패턴은 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다. 이러한 "관심사 분리"는 더나은 업무의 분리와 향상된 관리를 제공한다.MVC 소프트웨어 디자인 패턴의 3가지 부분은 다음과 같은 역할을 가지고 있다.1. 모델: 데이터와 비즈니스 로직을 관리한다.2. 뷰: 레이아웃과 화면을 처리한다.3. 컨트롤러: 이벤트를 처리하여 모델을 변경주는 명령, 변경된 모델을 다시 화면에 그려주는 명령을 수행한다. MVC 패턴에 단점이 있다고..? 특히 Frontend에서의 MVC를 살펴보자면, View는 유저의 인터랙션을 받아들여 Model을 갱신하게 된다..

  • format_list_bulleted 프로그래밍 방법론/디자인패턴
  • · 2024. 9. 20.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • ···
  • 15
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (85)
    • 프로그래밍 언어 (1)
      • Typescript (1)
      • Javascript (0)
    • 프론트엔드 개발 (30)
      • React (10)
      • Next.js (1)
      • 개발환경 (4)
    • 백엔드 개발 (5)
      • Node.js&Nest.js (5)
    • 프로그래밍 방법론 (12)
      • 함수형 프로그래밍 (5)
      • 객체지향 프로그래밍 (0)
      • 테스트코드 (2)
      • 디자인패턴 (1)
      • 도메인 주도 설계 (4)
      • 아키텍처 (0)
    • 개발환경 (3)
      • Docker (2)
      • Git (1)
      • 클라우드 (0)
    • CS지식 (14)
      • 알고리즘 (0)
      • 자료구조 (1)
      • 데이터베이스 (0)
      • 네트워크 (11)
      • 운영체제 (0)
      • 코딩테스트 (2)
    • 프로젝트들 (5)
      • 졸업작품 (3)
    • Life (14)
      • 계획 (0)
      • 회고 (12)
      • 독후감 (1)
    • 수학 (0)
      • 통계학 (0)
      • 선형대수학 (0)
최근 글
인기 글
최근 댓글
태그
  • #항해플러스
  • #ci/cd
  • #React
  • #HTTP 완벽가이드
  • #항해
  • #테스트코드
  • #마이크로 프론트엔드
  • #항해99
  • #http
  • #MFA
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바