
293
10
장 HTTP/2.0
The Definitive Guide
려고 하는 자원을 클라이언트가 별도로 또 요청하게 되는 상황을 피하기 위함이다.
서버 푸시를 사용할 때는 다음에 주의해야 한다.
· 서버 푸시를 사용하기로 했더라도, 중간의 프락시가 서버로부터 받은 추가 리소스
를 클라이언트에게 전달하지 않을 수 있으며, 반대로 아무런 추가 리소스를 서버
로부터 받지 않았음에도 클라이언트에게 추가 리소스를 전달할 수도 있다.
· 서버는 오직 안전하고, 캐시 가능하고, 본문을 포함하지 않은 요청에 대해서만
푸시를 할 수 있다.
· 푸시할 리소스는 클라이언트가 명시적으로 보낸 요청과 연관된 것이어야 한다.
서버가 보내는 PUSH_PROMISE 프레임은 원 요청을 위해 만들어진 스트림을 통
해 보내진다.
· 클라이언트는 반드시 서버가 푸시한 리소스를 동일 출처 정책(Same-origin policy.
자세한 내용은 RFC 6454를 보라)에 따라 검사해야 한다. 예를 들어, ‘example.org’
로의 HTTP/2.0 커넥션은 ‘www.example.org’로부터의 푸시 응답을 허용하지 않
는다.
· 마지막으로, 서버 푸시를 끄고 싶다면 SETTINGS_ENABLE_PUSH을 0으로 설정
하면 된다.
10.4
알려진 보안 이슈
10.4.1
중개자 캡슐화 공격(
Intermediary ...