HTTP의 성능 문제를 개선하기 위해 HTTP/2.0을 만들고 있다. HTTP/2.0의 등장 배경HTTP/1.1의 메시지 포맷은 구현의 단순성과 접근성에 주안점을 두고 최적화되었기에, 성능을 어느정도 희생시켜야 했다. 커넥션 하나를 통해 요청 하나를 보내고 그에 대한 응답 하나만을 받는 HTTP의 메시지 교환 방식은 단순함 면에서는 우수했지만, 응답을 받아야만 그 다음 요청을 보낼 수 있기 때문에 심각한 회전 지연(latency)가 발생했다. 이 문제를 회피하기 위해 병렬 커넥션, 파이프라인 커넥션이 도입되었지만 성능 개선에 대한 근본적인 해결책이 되지 못했다. 구글은 웹을 더 빠르게 하겠다는 목표 아래 SPDY 프로토콜을 내놓았다. SPDY는 헤더를 압축하여 대역폭을 절약했고, 하나의 TCP 커넥션에 ..
웹 로봇은 사람과의 상호작용 없이 연속된 트랜잭션들을 자동으로 수행하는 소프트웨어 프로그램이다. 많은 로봇이 웹 사이트에서 다른 웹 사이트로 떠돌아다니면서, 콘텐츠를 가져오고, 하이퍼링크를 따라가고, 그들이 발견한 데이터를 처리한다. 이러한 종류의 로봇들은 그들의 동작 방식에 따라 '크롤러', '스파이더', '웜', '봇' 등 다양한 이름으로 불린다. 크롤러와 크롤링웹 크롤러는 웹 페이지를 한 개 가져오고, 그 다음 페이지가 가리키는 모든 웹 페이지를 가져오는 일을 재귀적으로 반복하는 방식으로 웹을 순회하는 로봇이다. 이러한 로봇을 크롤러라고 부른다. HTML 하이퍼링크들로 만들어진 웹을 따라 '기어다니기(crawl)' 때문이다. 어디에서 시작하는가: '루트 집합'크롤링을 시작하기 전, 크롤러에게 출발..
여러 종류의 리소스에 접근하는데 HTTP가 어떻게 쓰이는지 알아보고, 다른 프로토콜이나 애플리케이션 간 통신에 HTTP를 어떻게 사용하는지 알아보도록 하자. 주요 키워드게이트웨이: 서로 다른 프로토콜과 애플리케이션 간의 HTTP 인터페이스다.애플리케이션 인터페이스: 서로 다른 형식의 웹 애플리케이션이 통신하는데 사용한다.터널: HTTP 커넥션을 통해서 HTTP가 아닌 트래픽을 전송하는데 사용한다.릴레이: 일종의 단순한 HTTP 프락시로, 한 번에 한 개의 홉에 데이터를 전달하는데 사용한다.게이트웨이HTTP의 확장과 인터페이스는 필요에 의해 발전해왔다.웹에 더 복잡한 리소스를 올려야 할 필요가 생기면서 모든 리소스를 한 개의 애플리케이션으로만 처리할 수 없어졌다. 이러한 문제를 해결하기 위해 리소스를 받기..
웹 캐시는 자주 쓰이는 문서의 사본을 자동으로 보관하는 HTTP 장치이다.웹 요청이 캐시에 도착했을 때, 캐시된 로컬 사본이 존재한다면 문서는 원 서버가 아닌 그 캐시로부터 제공된다. 캐시의 장점불필요한 데이터 전송을 줄여 네트워크 비용을 줄일 수 있다.네트워크 병목을 줄여준다.원서버에 대한 요청을 줄여준다.캐시는 물리적 거리로 인한 페이지 요청 지연 시간을 줄여준다.불필요한 데이터 전송복수의 클라이언트가 자주 쓰이는 원 서버 페이지에 접근 시, 서버가 같은 문서를 클라이언트에게 각각 한 번씩 전송한다면?똑같은 바이트들이 네트워크를 통해 계속 반복해서 이동하게 된다. 캐시를 이용하면, 첫 번째 서버 응답은 캐시에 보관되어 중복해서 트래픽을 주고 받는 낭비를 줄일 수 있다. 대역폭 병목캐시는 네트워크 ..
웹 프락시 서버는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP 메시지를 정리하는 중개인처럼 동작한다. 웹 중계자웹 프락시 서버는 클라이언트 입장에서 트랜잭션을 수행하는 중개인이다.프락시가 없을 때 ➡️ 프락시 서버와 통신프락시가 있을 때 ➡️ HTTP 서버와 직접 통신HTTP 프락시 서버는 웹 서버인 동시에 클라이언트이다. HTTP 클라이언트의 요청을 받고, 요청을 서버로 보내기도 하기 때문이다. 1) 개인 프락시와 공유 프락시프락시 서버는 하나의 클라이언트가 독점적으로 사용할 수도 있고, 여러 클라이언트가 공유할 수도 있다. 2) 프락시 대 게이트웨이 프락시: 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결게이트웨이: 서로 다른 프로토콜을 사용하는 둘 이상을 연결 실질적으로 프락시와..
다채로운 웹서버 웹 서버는 HTTP 요청을 처리하고 응답을 제공한다. 1) 웹 서버 구현웹 서버는 HTTP 처리를 구현한다. 웹 서버는 제공하는 리소스를 관리하고, 웹 서버를 설정, 통제, 확장하기 위한 관리 기능을 제공한다.웹 서버는 여러 형태로 존재한다.다목적 소프트웨어 웹 서버를 표준 컴퓨터에 설치하고 실행한 것몇 개의 컴퓨터 칩만으로 구현된 웹 서버를 내장시켜서 완전한 관리 콘솔로 제공한 것2) 다목적 소프트웨어 웹 서버다목적 소프트웨어 웹 서버는 네트워크에 연결된 표준 컴퓨터 시스템에서 동작한다. 아파치, Nginx, W3C의 직소 같은 오픈소스 소프트웨어를 사용하거나 마이크로소프트나 아이플래닛의 웹 서버 같은 상용 소프트웨어를 사용할 수 있다. ➡️ 웹 서버 소프트웨어는 거의 모든 컴퓨터와 운..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.