HTTP의 Keep-Alive HTTP 프로토콜의 Keep-Alive는 HTTP Header의 일종이다.이는 HTTP/1.0에서 지원하지 않던 지속 커넥션을 가능하게 하기위해서 쓰였다. 그렇다면 지속 커넥션이 뭔지부터 보자. 지속 커넥션을 보기전에 HTTP의 커넥션에 대해 알아보자. HTTP/1.1이전에는 클라이언트와 서버사이에 트랜잭션 한번이 일어나면 HTTP Connection이 끊어졌다.그런데 이렇게 되면 TCP 커넥션을 맺는데 발생하는 지연과 느린 시작 지연이 트랜잭션마다 발생하기 때문에, 한 웹페이지에서 여러 이미지와 html을 요청해야하는 경우 성능이 매우 안 좋아진다. 그래서 이런 커넥션을 맺고 끊는데서 발생하는 지연을 없애기 위해서 한번 연결한 TCP 커넥션을 재활용하는 방법이 나왔는데, ..
콘텐츠 인코딩(Contents-Encoding)큰 HTML 문서 전송의 시간을 줄이기 위해 사용혹은 허락받지 않은 제3자가 볼 수 없게 콘텐츠를 암호화하거나 뒤섞어서 보내는 목적콘텐츠의 포맷과 연관gzip, compress, deflate, identity와 같은 알고리즘을 사용발송하는 쪽에서 콘텐츠에 적용함과정웹 서버가 Content-Type, Content-Length 헤더를 가진 원본 응답 메시지 생성콘텐츠 인코딩 서버(오리진 서버 혹은 다운스트림 프락시)가 인코딩된 메시지 생성; 이떄 인코딩된 메시지는 Content-Type은 같지만 Content-Length는 다름. 인코딩 서버는 Content-Encoding 헤더를 인코딩된 메시지에 추가하여 수신 측 앱이 디코딩가능하도록 함 (요청 메시지냐 ..
HTTP Header중에 Content-Type 필드가 있는데, 이는 엔터티 본문의 MIME 타입을 기술한다. (여기서 '엔터티'란, HTTP 메시지에 들어가는 실질적인 본문이라고 볼 수 있다.) (HTTP 메시지에는 요청/응답 라인, 헤더, 엔터티 본문 크게 3가지로 나뉜다 ) (MIME 타입은 HTTP가 웹에서 전송되는 객체 각각에 붙이는 데이터 포맷 라벨로써, Multipurpose Internet Mail Extensions의 약자이다. 이는 원래 각기 다른 전자메일 시스템 사이에서 메시지가 오갈 때 겪는 문제점을 해결하기 위해 설계되었다. 이는 이메일에서 워낙 잘 동작했기 때문에 HTTP에서도 멀티미디어 콘텐츠를 기술하고 라벨을 붙이기 위해 채택되었다. 웹 서버는 모든 HTTP 객체 데이터에 M..
트래픽이 높은 사이트는 아니더라도 웹 서비스를 운영하고 싶어하는 사람들은 웹 공간을 가지고 싶어 합니다.이런 사람들에게 웹 서버 하나는 사치일 것입니다. 따라서 웹 호스팅 업자들이 서버 한 대를 여러 고객이 공유하도록 해서 저렴한 웹 호스팅 서비스를 제공하는데, 이를 공유 호스팅/가상 호스팅이라고 합니다. 그리고 가상 호스팅 사용자들은 웹 서버를 구축해야할 정도로 트래픽이 증가하기 전까지는 비용절약을 위해 가상 호스팅을 사용할 것입니다. 가상 호스팅에는 4가지의 종류가 있습니다. URL 경로를 통한 가상 호스팅서버가 어떤 사이트를 요청하는지를 파악할 수 있게 URL에 특별한 경로 컴포넌트를 추가포트번호를 통한 가상 호스팅각 사이트별로 다른 포트를 할당하여 분리된 웹 서버의 인스턴스가 요청을 처리IP 주소..
HTTP Headers 위키피디아 발번역은 차차 책을 보면서 수정해 나갈 것임. 클라이언트에서 웹 서버로 Request를 보낼 때, 자주 사용하는 메소드로는 GET과 POST가 있다. GET 메소드는 웹 서버로부터 데이터를 요청하지만, 서버의 데이터를 수정하지는 않는다. POST 메소드는 서버의 상태를 변화시킬 수 있다. GET 방식의 전송되는 데이터로는 Request Line Request Header 가 있다. POST 방식의 전송되는 데이터로는 Request Line Request Header Message body 가 있다. Request Line은 HTTP메소드와 웹서버상에서의 자원에 대한 경로, 파라미터, 프로토콜 버전을 담고있다. GET / HTTP/1.1 Request Header에 들어갈..
nginx/apache의 경우 Virtual Host 라는 기능이 제공된다. www.a.com, www.b.com 이 같은 ip이더라도 도메인만으로 다른 위치의 데이터를 전달할 수 있는 기능인데, 이것은 어떤 것이고, HTTP header 중에 어떤 정보를 이용하여 구현될까? (배경지식) Virtual Host(가상 호스트)란? > 웹서버에 기본적으로 존재하는 호스트를 주호스트(main host)라고 한다. 하나의 웹서버에 main host이외에 별도의 홈디렉토리를 가진 여러개의 호스트를 설정하여 운용할 수 있다. 이는 주로 웹호스팅 서비스에 사용되고, main host이외의 호스트들을 가상 호스트라고 부른다. (가상호스트를 가장 적절하게 이용하는 것이 웹호스팅 서비스) 이런 웹호스팅 서비스를 위해서는 ..
- Total
- Today
- Yesterday
- runtime data areas
- Spring
- log
- NGINX
- logback
- linux
- logging
- Apache
- java
- object
- webserver
- lood
- JVM
- async
- TaskExecutor
- log level
- good practice
- logging facade
- slf4j
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |