HTTP caching HTTP 캐싱개요 OverviewHTTP 캐시는 요청과 연관된 응답을 저장하고 이후의 요청에서 저장된 응답을 재사용한다. 재사용성에는 여러가지 장점이 있다.첫째, 요청을 원본 서버에 전달할 필요가 없으므로 클라이언트와 캐시가 가까울수록 응답 속도가 빨라진다.가장 일반적인 예는 브라우저 자체가 브라우저 요청에 대한 캐시를 저장하는 경우다. 또한, 응답을 재사용할 수 있는 경우, 원본 서버는 요청을 처리할 필요가 없다.즉, 요청을 해석하고 라우팅하거나, 쿠키를 기반으로 세션을 복원하거나, 데이터베이스에서 결과를 조회하거나, 템플릿 엔진을 렌더링할 필요가 없다.이는 서버의 부하를 줄이는 데 도움을 준다. 캐시가 올바르게 작동하는 것은 시스템의 안정성에 매우 중요하다. 캐시 유형 Types of cachesHT.. 2024. 12. 1. Compression in HTTP HTTP에서의 압축압축은 웹사이트 성능을 향상시키는 중요한 방법이다.일부 문서의 경우, 최대 70%까지 크기를 줄이면, 데이터를 전송하는 데 필요한 대역폭(네트워크 리소스)이 줄어들어 전송 속도가 빨라지거나 네트워크 부하가 줄어든다.파일이 작아지면 인터넷 연결이 더 작은 데이터를 처리하므로 전송 효율이 높아진다.수년에 걸쳐 알고리즘도 더 효율적으로 발전했으며, 새로운 알고리즘이 클라이언트와 서버에서 지원되고 있다. 실제로 웹 개발자는 압축 메커니즘을 구현할 필요가 없다. 브라우저와 서버 모두 이미 이를 구현하고 있지만, 서버가 적절하게 구성되어 있는지 확인해야 한다.압축은 세 가지 수준에서 발생한다. 먼저, 일부 파일 형식은 특정 최적화된 방법으로 압축된다.그런 다음, HTTP 수준(HTTP level).. 2024. 10. 13. MIME types (IANA media types) MIME 유형 (IANA 미디어 유형)미디어 유형(다용도 인터넷 메일 확장 Multipurpose Internet Mail Extensions types 또는 MIME 유형이라고도 함)은 문서, 파일, 바이트 모음의 특성과 형식을 나타낸다.MIME 유형은 IETF의 RFC 6838에 정의되고 표준화되어 있다. IANA(인터넷 할당 번호 관리 기관 Internet Assigned Numbers Authority)는 모든 공식 MIME 유형을 관리하며, 미디어 유형 페이지에서 가장 최신의 전체 목록을 찾을 수 있다. 경고 : 브라우저는 파일 확장자가 아닌 MIME 유형을 사용하여 URL 처리 방법을 결정하므로 웹 서버가 응답의 Content-Type 헤더에 올바른 MIME 유형을 보내는 것이 중요하다.이것이.. 2024. 10. 13. HTTP Messages HTTP 메시지HTTP 메시지는 서버와 클라이언트 사이에서 데이터가 교환되는 방식이다.메시지에는 두 가지 유형이 있다.클라이언트가 서버에서 작업을 트리거하기 위해 보낸 요청과 서버의 답변인 응답이다. 웹 개발자 또는 웹마스터가 이러한 텍스트 HTTP 메시지를 직접 만드는 경우는 드물다.소프트웨어, 웹 브라우저, 프록시 또는 웹 서버가 이 작업을 수행한다.이들은 구성 파일(프록시 또는 서버용), API(브라우저용) 또는 기타 인터페이스를 통해 HTTP 메시지를 제공한다. HTTP 요청과 응답은 유사한 구조를 공유하며 다음으로 구성된다. 구현해야 할 요청을 설명하거나 성공, 실패 여부에 대한 상태를 설명하는 시작 줄이다.항상 단일 라인이다.요청을 정확히 정의하거나 메시지에 포함된 본문을 설명하는 HTTP .. 2024. 10. 13. A typical HTTP session 일반적인 HTTP 세션HTTP와 같은 클라이언트-서버 프로토콜에서 세션은 세 가지 단계로 구성된다. 클라이언트가 TCP 연결(만약 전송 계층이 TCP가 아닌 경우, 대신 적절한 연결)을 설정한다.클라이언트는 요청을 보내고 답변을 기다린다.서버는 요청을 처리하여 답변을 보내고, 상태 코드와 적절한 데이터를 제공한다. HTTP/1.1부터는 세 번째 단계를 완료한 후에도 연결이 더 이상 닫히지 않고, 클라이언트에게 추가 요청이 허용된다.이는 두 번째 단계와 세 번째 단계를 원하는 횟수만큼 수행할 수 있다는 것을 의미한다. 연결 설정 Establishing a connection클라이언트-서버 프로토콜에서 연결을 설정하는 것은 클라이언트다.HTTP에서 연결을 여는 것은 기본 전송 계층(일반적으로 TCP)에서 연.. 2024. 10. 13. An overview of HTTP HTTP 개요HTTP는 HTML문서와 같은 리소스를 가져오기 위한 프로토콜이다.웹에서 일어나는 모든 데이터 교환의 기반이며 클라이언트-서버 프로토콜이다.요청은 수신자(웹 브라우저)에 의해 시작된다.완전한 문서는 텍스트, 레이아웃 설명, 이미지, 동영상, 스크립트 등 여러 하위 문서를 가져와서 재구성한다.클라이언트와 서버는 개별로 데이터를 주고 받으면서 통신한다.일반적으로 웹 브라우저라고 불리는 클라이언트가 보내는 메시지를 '요청'이라고 하고,서버가 보내는 메시지를 '응답'이라고 한다.개별로 주고 받으며 통신하는 것은 실시간 오디오 스트리밍과 같은 데이터 스트림과는 반대되는 개념이다.데이터 스트림은 단방향 통신으로 요청과 응답이 따로 없고 한쪽이 끊임없이 데이터를 수신받는 것이다.하지만 데이터 스트림은 메.. 2024. 10. 13. Content Security Policy (CSP) 콘텐츠 보안 정책Content Security Policy(CSP)는 XSS(크로스 사이트 스크립팅) 및 데이터 주입 공격을 포함한 특정 유형의 공격을 탐지하고 완화하는 데 도움을 주는 추가적인 보안 계층이다.이러한 공격은 데이터 도용, 웹사이트 훼손, 악성코드 배포 등 다양한 목적으로 사용된다. CSP는 이전 버전과 완전히 호환되도록 설계되었다.이전 버전과의 호환성에 대해 명시적으로 언급된 불일치가 있는 CSP 버전 2는 제외한다.이를 지원하지 않는 브라우저는 이를 구현하는 서버에서 계속 작동하며 그 반대의 경우도 마찬가지다.CSP를 지원하지 않는 브라우저는 이를 무시하고 평소대로 작동한다.이 경우, CSP가 추가할 수 있는 추가적인 제한 없이 표준 동일 출처 정책의 보호만 적용된다. CSP를 활성화하.. 2024. 9. 27. Protocol upgrade mechanism 프로토콜 업그레이드 메커니즘HTTP/1.1 프로토콜은 Upgrade 헤더 필드를 사용하여 이미 설정된 연결을 다른 프로토콜로 업그레이드하는 데 사용할 수 있는 특수 메커니즘을 제공한다. 이 메커니즘은 선택사항이며, 프로토콜 변경을 강요하는 데 사용할 수 없다.구현체는 새로운 프로토콜을 지원하더라도 업그레이드를 선택하지 않을 수 있으며, 실제로 이 메커니즘은 주로 WebSocket 연결을 시작할 때 사용한다. 또한 HTTP/2에서는 이 메커니즘의 사용을 명시적으로 허용하지 않는다는 점에 유의해야 한다.이 메커니즘은 HTTP/1.1에만 해당된다. HTTP/1.1 연결 업그레이드 Upgrading HTTP/1.1 ConnectionsUpgrade 헤더 필드는 클라이언트가 서버를 선호도에 따라 내림차순으로 나.. 2024. 9. 12. Connection management in HTTP/1.x HTTP/1.x에서의 연결 관리HTTP에서 연결 관리는 웹사이트와 웹 애플리케이션의 성능에 큰 영향을 주는 중요한 주제다.HTTP/1.x에는 단기 연결, 지속적 연결, HTTP 파이프라이닝 등 여러 모델이 있다. HTTP는 주로 TCP를 전송 프로토콜로 사용하며, 클라이언트와 서버 간의 연결을 제공한다.HTTP 초기에는 이러한 연결을 처리하기 위해 단일 모델을 사용했다.이러한 연결은 수명이 짧아, 요청을 보낼 때마다 새로운 연결이 만들어지고 답변을 받으면 연결이 끊어졌다. 이 간단한 모델은 성능에 대한 선천적인 한계를 가지고 있었다.각 TCP 연결을 여는 것은 많은 리소스를 소모하는 작업이다.클라이언트와 서버 간에는 여러 메시지를 교환해야 한다.네트워크 지연 시간과 대역폭은 요청을 보내야 할 때, 성능에.. 2024. 8. 24. Evolution of HTTP HTTP의 진화HTTP는 월드 와이드 웹의 기본 프로토콜이다.1989년부터 1991년까지 Tim Berners-Lee와 그의 팀이 개발한 HTTP는 유연성을 향상하는 동시에 단순성을 유지하는 데 도움이 되는 많은 변화를 거쳤다.계속 읽어보면, HTTP가 반신뢰할 수 있는 실험실 환경에서 파일을 교환하기 위해 설계된 프로토콜에서 고해상도 및 3D로 이미지를 전송하는 현대 인터넷 미로까지 어떻게 발전했는지 알 수 있다. 월드 와이드 웹의 발명 Invention of the World Wide Web1989년 CERN에서 근무하던 Tim Berners-Lee는 인터넷을 통한 하이퍼텍스트 시스템 구축 제안을 작성했다.(1989년 이전에는 인터넷으로 전용 프로그램을 통해 이미지 파일, 문서 파일, 이메일 등을 주.. 2024. 7. 15. 이전 1 2 다음