<?php if (! ($loader = @include __DIR__ . '/../vendor/autoload.php')) { die(<<<EOT You need to install the project dependencies using Composer: $ wget http://getcomposer.org/composer.phar OR $ curl -s https://getcomposer.org/installer | php $ php composer.phar install --dev $ phpunit EOT ); } $loader->add('Negotiation\Tests', __DIR__);
콘텐츠 협상 기술에는 일반적으로 세 가지 구현 솔루션이 있습니다.
(1) 클라이언트 중심
클라이언트가 요청을 시작하고, 서버가 옵션 목록을 보내고, 클라이언트가 선택 후 두 번째 요청을 보냅니다.
장점: 상대적으로 구현하기 쉬움
단점: 지연이 증가하고 최소 두 개의 요청을 보내야 하며 첫 번째 요청은 리소스 목록을 얻고 두 번째 요청은 선택한 복사본을 얻습니다.
(2) 서버 드라이버
서버는 클라이언트의 요청 헤더 세트를 확인하고 어떤 버전의 페이지를 제공할지 결정합니다.
장점: 고객 중심 협상보다 빠릅니다. HTTP는 서버가 일치를 근사화할 수 있는 q 메커니즘을 제공하고 서버가 다운스트림 장치(프록시 서버 등)에 요청 평가 방법을 알려줄 수 있는 가변 헤더도 제공합니다.
단점: 헤더 세트가 일치하지 않으며 서버가 추측해야 합니다
(3) 투명한 협상
중간 장치(일반적으로 캐시 프록시)가 클라이언트를 대신하여 협상합니다.
장점: 협상 오버헤드 제거 클라이언트 중심 협상에 비해 웹 서버의 속도가 더 빠릅니다.
단점: HTTP는 해당 사양을 제공하지 않습니다
이 사이트의 모든 리소스는 네티즌이 제공하거나 주요 다운로드 사이트에서 재인쇄되었습니다. 소프트웨어의 무결성을 직접 확인하십시오! 이 사이트의 모든 리소스는 학습 참고용으로만 사용됩니다. 상업적 목적으로 사용하지 마시기 바랍니다. 그렇지 않으면 모든 결과에 대한 책임은 귀하에게 있습니다! 침해가 있는 경우 당사에 연락하여 삭제하시기 바랍니다. 연락처: admin@php.cn
관련 기사

29Jul2016
content-type:content-type php 헤더 Content-Type 유형 요약: 다음과 같이 코드를 복사합니다. 'application/andrew-inset', 'hqx' => 'application/ mac -binhex40', 'cpt' => '응용 프로그램/mac-compactpro', 'doc' => '응용 프로그램/msword', 'b

29Jul2016
도서관 관리 시스템 활용 사례 다이어그램: 도서관 관리 시스템 활용 사례 다이어그램 도서관 관리 프로그램(1): 이 수준의 프로그램에서 사용하는 데이터 테이블 구조: # ------ --- --------------------- # # 데이터 테이블 구조 'author' # CREATE TABLE 작성자 ( author_id int (6) DEFAULT '0' NOT NULL auto_increment, first_name varchar(20)

17Feb2025
이 기사는 Symfony Console, HOA Console 및 WebMozart 콘솔의 3 개의 PHP 콘솔 명령 라이브러리를 비교합니다. 각각은 다양한 프로젝트 요구와 개발자 선호도에 대한 고유 한 강점을 제공합니다. 주요 차이점 : Symfony Console : 성숙하고 강력하고


뜨거운 도구

종속성 주입 컨테이너용 PHP 라이브러리
종속성 주입 컨테이너용 PHP 라이브러리

50개의 뛰어난 클래식 PHP 알고리즘 모음
클래식 PHP 알고리즘, 훌륭한 아이디어를 배우고 사고력을 확장하세요

이미지 최적화를 위한 작은 PHP 라이브러리
이미지 최적화를 위한 작은 PHP 라이브러리
