CS Repo/HTTP 완벽 가이드 8

웹 캐시

본 내용은 "HTTP 완벽 가이드" 와 모든 개발자를 위한 HTTP 웹 기본 지식 내용을 참고하여 기록한 정리본입니다.정말 중요한 챕터이다.반드시 이해하고 넘어가야 한다.캐시의 장점불필요한 데이터 전송을 제거같은 데이터가 반복해서 요청될 경우, 네트워크 대역폭이 낭비되는 공간이 생길 수 있다.데이터 저장을 계층화하여, 중복된 트래픽을 제거할 수 있다.네트워크 병목을 제거클라이언트가 서버에 접근할 때의 속도 = 그 경로에 있는 가장 느린 네트워크의 속도이다.일반적으로 원격 서버보다 로컬 네트워크가 더 넓은 대역폭을 제공하기 때문에,빠른 LAN에 있는 캐시로부터 사본을 가져오면, 성능 개선이 가능하다.오프로딩(Offloading)원서버에 대한 요청 수를 완화할 수 있다.갑작스런 요청 쇄도에 의한 원 서버의 ..

프록시

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.프록시 - 웹 중개자프록시란?트랜잭션을 수행하는 중개자이다.프록시 서버에 추가적인 서비스를 삽입할 수 있다.웹 서버이자 웹 클라이언트의 역할을 동시에 수행한다.따라서, HTTP 클라이언트와 HTTP 서버 양쪽의 규칙을 모두 준수해야 한다.프록시의 분류개인 프록시와 공유 프록시공용 프록시여러 클라이언트가 함께 사용하는 프록시이다.캐시 프록시로 동작할 수 있다.개인 프록시단일 클라이언트를 위해 사용되는 프록시이다.SSH 터널링을 지원할 때 사용하거나,섀도삭스와 같은 프로그램에서 사용한다.프록시 vs 게이트웨이프록시동일한 프로토콜을 사용하는 두 개 이상의 애플리케이션을 연결한다.단순 중개자의 역할을 수행한다.게이트웨이서로 다른 프로토콜을 ..

웹 서버

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.웹 서버일반적으로 웹 서버는 HTML, CSS, JS, 이미지 등 정적 파일을 제공하는 역할로 많이 알려져 있지만, 동적 콘텐츠와 애플리케이션 로직을 제공하기 위해 다른 프로세스나 내부 모듈과 연동하기도 한다.또한 SSL/TLS 암호화 같은 보안 계층을 고려하거나, 가상 호스팅을 통해 여러 사이트를 한 서버에서 운영하는 등 부가적인 기능을 수행한다.주요 키워드커넥션 아키텍처docroot응답 메시지 생성 방식리다이렉션 방식웹 서버의 종류다목적 소프트웨어 웹 서버아파치Nginx임베디드 웹 서버MongooseGoAhead WebServer진짜 웹 서버가 하는 일웹 서버는 기본적으로, 다음과 같은 7단계의 뼈대를 기반으로 동작한다.클라이언트..

HTTP 커넥션 관리 최적화 기법

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.사전지식: 커넥션 헤더의 오해커넥션 헤더의 내용두 개의 인접한 HTTP 애플리케이션 사이에서, “현재 맺고 있는 커넥션”에만 적용할 옵션을 지정하고자 할 때 사용하는 헤더.예를 들어, 특정한 임시 헤더(meter)나 비표준 옵션(bill-my-credit-card), 연결 종료(close) 등에 대한 정보를 전달한다.meter 같은 헤더는 다른 커넥션으로 전달되면 안 된다.bill-my-credit-card와 같은 옵션을 선택할 수 있다.트랜잭션이 끝나면 커넥션을 끊겠다는 의사를 close로 밝힐 수 있다.커넥션 헤더의 동작 방식HTTP 헤더 필드 명“이 커넥션에만” 해당되는 헤더 이름을 지정한다. 예: Connection: mete..

HTTP에서 바라본 TCP 커넥션 관리 방식

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용HTTP의 커넥션 사용 방식TCP의 구조TCP 지연TCP 병목TCP 막힘흐름제어/혼잡제어HTTP 네트워크 프로토콜 스택HTTP는 전송 계층인 TCP 위에서 동작하며, IP 계층을 통해 패킷이 전달된다. 이 과정에서 여러 계층을 거치기 때문에, 각 계층이 가진 헤더(메타데이터)들이 포함되어 전송된다.HTTPSHTTPS는 위의 HTTP 네트워크 프로토콜 스택에 SSL/TLS를 위한 보안 계층을 추가한 프로토콜이다. SSL/TLS 계층에서 암호화, 무결성 보장, 인증 등의 과정을 거친 후에 TCP 계층에 데이터를 전달하기 때문에, 일반 HTTP보다 연결 과정이 조금 더 복잡하고 느리다.그러나 전송되는 내용이 암호화되어 보안성을 ..

HTTP 메시지

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용메시지는 어떻게 흘러가는가HTTP 메시지의 세 부분시작줄헤더바디요청과 응답 메시지의 차이요청 메시지가 지원하는 여러 메소드들응답 메시지가 반환하는 여러 상태 코드들HTTP 헤더들은 각각 무슨일을 하는가메시지는 어떻게 흘러가는가요청과 응답이라는 두 가지 형식으로 통신하며, 클라이언트-서버 간의 데이터를 교환한다.메시지는 크게 시작줄, 헤더, 바디 세 부분으로 이루어져 있다.요청 메시지와 응답 메시지는 기본 구조는 유사하지만, 시작줄에서 사용하는 구문이 다르다.요청 메시지는 메소드, URL, 버전으로 시작한다.응답 메시지는 버전, 상태코드, 사유구절로 시작한다.HTTP 메시지의 세 부분시작줄요청 메시지: 메소드 URL HTTP..

URL과 리소스

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용URL 문법 및 컴포넌트URL의 각 구성 요소가 가지는 의미와 역할을 설명한다.단축 URL여러 웹 클라이언트에서 지원하는 상대 URL과 확장 URL 등 단축 URL에 관한 내용을 다룬다.URL 인코딩 및 문자 규칙URL 작성 시 사용되는 인코딩 방식과 문자 사용 규칙에 대해 설명한다.공통 URL 스킴다양한 인터넷 정보 시스템에서 채택하는 URL 스킴에 대해 살펴본다.URNURL과는 구분되는 리소스 명명 방식인 URN에 대해 설명한다.URI란?URI는 리소스를 식별하는 방식으로, HTTP와는 별개로 독립적인 개념이다. 주로 다른 프로토콜과 결합되어 특정 리소스를 명시하는 데 사용된다.리소스 명명 방식URI는 리소스를 이름으로..

HTTP란?

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다. 게시할 내용리소스란 무엇인가?리소스는 어디서 오는가?웹 트랜잭션의 동작 원리HTTP 메시지의 기본 형식HTTP 기저의 TCP 네트워크 전송여러 종류의 HTTP 프로토콜HTTP 버전 종류웹의 구성요소HTTP란?HTTP는 신뢰성 있는 데이터 전송을 위해 설계된 프로토콜이다. 데이터의 파괴, 중복, 왜곡을 방지하는 여러 메커니즘이 내재되어 있어, 웹 상에서 정보가 안정적으로 주고받을 수 있도록 한다.웹 클라이언트와 서버웹 클라이언트리소스를 요청하는 주체로, 사용자가 브라우저를 통해 웹 페이지에 접근할 때 역할을 수행한다.웹 서버클라이언트의 요청에 따라 리소스를 제공하는 시스템이다.웹 콘텐츠웹 서버가 제공하는 다양한 형태의 리소스를 의미한..