분류 전체보기
-
[HTTP 완벽 가이드 6장] 프락시Network 2020. 6. 22. 10:22
프락시는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP 메시지를 정리하는 중개인 이 장에서 배울 것 HTTP 프락시와 웹 게이트웨이를 비교하고 HTTP 프락시가 어떻게 배치되는지 설명한다. 프락시가 실제 네트워크에 어떻게 배치되어 있는지, 트래픽이 어떻게 프락시 서버로 가게 되는지 설명한다. 브라우저에서 프락시를 사용하려면 어떻게 설정해야 하는지 설명한다. HTTP 프락시 요청이 서버 요청과 어떻게 다른지, 프락시가 어떻게 브라우저의 동작을 바꾸는지 보여준다. 프락시 서버들을 통과하는 메시지의 경로를, Via 헤더와 TRACE 메서드를 이용해 기록하는 방법을 설명한다. 프락시에 기반한 HTTP 접근 제어를 설명한다. 프락시가 클라이언트와 서버 사이에서 어떻게 상호작용 할 수 있는지 설명한다. 6..
-
[HTTP 완벽 가이드 5장] 웹 서버Network 2020. 6. 22. 10:19
이 장에서 배울 것 여러 종류의 소프트웨어 및 하드웨어 웹 서버에 대해 조사한다. HTTP 통신을 진단해주는 간단한 웹 서버를 펄(Perl)로 작성해본다. 어떻게 웹 서버가 HTTP 트랜잭션을 처리하는지 단계별로 설명한다. 5.1 다채로운 웹 서버 '웹 서버'라는 용어는 웹 서버 소프트웨어와 웹 페이지 제공에 특화된 장비 양쪽 모두를 가리킨다. 다양한 웹 서버는 기능, 형태, 크기는 모두 달라도 리소스에 대한 HTTP 요청을 받아서 클라이언트에게 콘텐츠를 돌려주는 것은 모두 똑같다. 1) 웹 서버 구현 웹 서버는 HTTP 및 그와 관련된 TCP 처리를 구현한 것이다. 웹 서버는 HTTP 프로토콜로 구현하고, 웹 리소스를 관리하고, 웹 서버 관리 기능을 제공한다. 2) 다목적 소프트웨어 웹 ..
-
[HTTP 완벽 가이드 4장] 커넥션 관리Network 2020. 6. 22. 10:17
이 장에서 배울 것 HTTP는 어떻게 TCP 커넥션을 사용하는가 TCP 커넥션의 지연, 병목, 막힘 병렬 커넥션, keep-alive 커넥션, 커넥션 파이프라인을 활용한 HTTP의 최적화 커넥션 관리를 위해 따라야 할 규칙들 4.1 TCP 커넥션 전 세계 모든 HTTP 통신은 패킷 교환 네트워크 프로토콜들의 계층화된 집합인 TCP/IP를 통해 이루어진다. 세계 어디에서든 클라이언트와 서버는 TCP/IP 커넥션을 맺을 수 있다. 일단 커넥션이 맺어지면 클라이언트와 서버간에 주고받는 메시지는 안전하게 전달된다. 패킷 교환(Packet switching)이란? 컴퓨터 네트워크와 통신의 방식 중 하나로 현재 가장 많은 사람들이 사용하는 통신 방식이다. 작은 블록의 패킷으로 데이터를 전송하며 데이터를 전송하는 동..
-
[HTTP 완벽 가이드 3장] HTTP 메시지Network 2020. 6. 22. 10:14
HTTP가 인터넷 배달원이라면, HTTP 메시지는 무언가를 담아 보내는 소포와 같다. 이 장에서 배울 것 메시지가 어떻게 흘러가는가 HTTP 메시지의 세 부분 (시작 줄, 헤더, 개체 본문) 요청과 응답 메시지의 차이 요청 메시지가 지원하는 여러 기능(메서드)들 응답 메시지가 반환하는 여러 상태 코드들 여러 HTTP 헤더들은 무슨 일을 하는가 3.1 메시지의 흐름 HTTP 메시지는 HTTP 애플리케이션 간에 주고받은 데이터의 블록들이다. 클라이언트, 서버, 프락시 사이를 흐른다 메시지 방향을 의미하는 용어 인바운드 아웃바운드 업스트림 다운스트림 1) 메시지는 원 서버 방향을 인바운드로 하여 송신된다 원 서버란? 전 세계에서 동시에 사용 가능한 하나의 서버 메시지가 원 서버로 향하는 것은 인바운드로 이동하..
-
[시작하세요! 도커 1장] 도커란?DevOps 2020. 6. 22. 10:06
1.1 가상 머신과 도커 컨테이너 기존의 가상화 기술은 하이퍼바이저를 이용해 여러 개의 운영체제를 하나의 호스트에서 생성해 사용하는 방식이었습니다. 가상화 작업은 하이퍼바이저를 반드시 거치기 때문에 일반 호스트에 비해 성능의 손실이 발생합니다. 그뿐만 아니라 가상 머신은 게스트 OS를 사용하기 위한 라이브러리, 커널 등을 전부 포함하기 때문에 배포를 위한 이미지를 만들 때 크기가 커지는 단점이 있습니다. 이에 비해 도커 컨테이너는 가상공간을 프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없습니다. 컨테이너에 필요한 커널은 호스트의 커널을 공유해 사용하고 컨테이너 안에는 애플리케이션을 구동하는 데 필요한 라이브러리 및 실행파일만 존재하기 때문에 이미지 크기가 대폭 감소합니다. 1.2 도커를 ..
-
[이펙티브 자바 : 1장] 객체 생성과 파괴Java & Kotlin 2020. 6. 21. 17:15
[ITEM1] 생성자 대신 정적 팩터리 메서드를 고려하라 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } * 디자인 패턴에서의 팩터리 메서드(Factory Method)와 다르다. 장점 1 : 이름을 가질 수 있다. 생성자 BigInteger(int, int, Random)에 비해 정적 팩터리 메서드인 BigInteger.probablePrime()은 '값이 소수인 BigInteger를 반환한다'라는 의미를 더 잘 설명한다. 이름을 가질 수 있는 정적 팩터리 메서드에는 시그니처1에 대한 제약이 없다. 한 클래스에 시그니처가 같은 생성자가 여러 개 필요할 것 같으면, 생성자를 정적 팩터리 메서드로 바꾸..