2011-08-14 5 views
6

w3.org (RFC2616)은 청크의 최대 크기를 정의하지 않는 것처럼 보입니다. 그러나 최대 청크 크기가 없으면 청크 확장을위한 공간이 없습니다. 최대 청크 크기가 있어야합니다. 그렇지 않으면 청크 확장을 무시할 수 없습니다. 이해할 수없는 경우이를 권고합니다 (견적 : "MUST ignore chunk-extension extensions they do not understand").Transfer-Encoding에서 HTTP 응답의 최대 청크 크기는 얼마입니까?

+0

왜 당신이 최대 크기를 필요가 있다고 생각합니까 행복하세요

  • 다음 CRLF까지 모든 것을 무시 16 진수를 읽어? 서버를 구현하고 있습니까? 클라이언트? 프록시? – Yahia

  • 답변

    8

    각 청크 확장은 세미콜론으로 시작해야하며 청크 확장 목록은 CRLF로 끝나야합니다. 청크 크기를 구문 분석 할 때 세미콜론 또는 CRLF 중 하나에서 중지하십시오. 세미 콜론에서 멈춘 경우 다음 CRLF까지 모든 것을 무시하십시오. 최대 청크 크기는 필요 없습니다.

    chunk   = chunk-size [ chunk-extension ] CRLF 
           chunk-data CRLF 
    
    chunk-size  = 1*HEX 
    
    chunk-extension= *(";" chunk-ext-name [ "=" chunk-ext-val ]) 
    
    +0

    Roland의 답변에 올린 것과 같은 질문에 대한 생각을 요청하십시오. – smRaj

    4

    HTTP 사양은 HTTP 메시지 구문에 대해 분명합니다.

    청크 크기는 항상 16 진수로 제공됩니다. 이 번호 뒤에 직접 CRLF가 붙지 않지만 대신 ; 인 경우 확장이 있음을 알 수 있습니다. 이 확장자는 이름 (chunk-ext-name)으로 식별됩니다. 특정 이름에 대해 들어 본 적이 없다면 은 반드시으로 무시해야합니다.

    그래서 정확히 무엇이 문제입니까?

    +2

    나는 서버가 손상되어 결코 끝나지 않은 16 진수를 보내면 어떻게 할 것을 제안하고 싶습니까? 희생자가되어 영원히 끝나지 않는 16 진수를 읽거나 응용 프로그램에 적합한 한도를 수정하고 그럴 때 경고를 내 보냅니다. – smRaj

    +0

    @smRaj 응용 프로그램에서 가장 이해가되는 것은 무엇이든 합당한 제한을 설정합니다. –

    +0

    @DavidSchwartz : 도움이됩니다. – smRaj

    관련 문제