2011-01-11 13 views
35

MIME yazarken, iletinizin farklı bölümlerini belirli bir sınırla ayırırsınız. Bu sınır açıklayan herhangi bir belge bulmak nedense başarısız, ama burada örneklerden elde edilen budur:MIME sınırı için hangi kurallar geçerlidir?

  1. Sınır i, harf ve sayılardan oluşan herhangi bir dize olabilir. e. "D29a0c638b540b23e9a29a3a9aebc900aeeb6a82".

  2. Sınırı oluşturmak için kural yok, sevgilinizin adını sadece md5sum yapabilirsin ve işte burada, sınırın var.

  3. Eğer HTTP üzerinden MIME gönderiyorsanız, bir başlık "Content-Type", yapmanız olduğunu belirterek ve Sınır eklemek gerekir, bir başlık içeriği aşağıdaki gibi görünebilir:

    çok parçalı/form-data ;

    --d29a0c638b540b23e9a29a3a9aebc900aeeb6a82

Ama bu kurallara (ve this faydalı şunlardır: gibi - "" İletinizin gövdesinde sınır = d29a0c638b540b23e9a29a3a9aebc900aeeb6a82

  • , sınır ile önünde olmalıdır cevap) Sunucunun kabul edeceği POST sorgusu üretemedim. Bir şey mi eksik? Yanlış bir şey mi aldım?

  • cevap

    57

    syntax of a boundary geçerli:

    multipart-body := [preamble CRLF] 
            dash-boundary transport-padding CRLF 
            body-part *encapsulation 
            close-delimiter transport-padding 
            [CRLF epilogue] 
    dash-boundary := "--" boundary 
    encapsulation := delimiter transport-padding 
            CRLF body-part 
    delimiter := CRLF dash-boundary 
    close-delimiter := delimiter "--" 
    

    önce gelen -- her zorunludur:

    boundary := 0*69<bchars> bcharsnospace 
    bchars := bcharsnospace/" " 
    bcharsnospace := DIGIT/ALPHA/"'"/"("/")"/
            "+"/"_"/","/"-"/"."/
            "/"/":"/"="/"?" 
    

    Ve body of a multipart entity sözdizimi (sadece önemli parçaları) sahiptir kullanılan sınır İleti ve sonlandırma --, kapanma sınırı için zorunludur ( close-delimiter). Yani boundary olarak sınır üç vücut parçaları ile çok parçalı gövde şöyle olabilir:

    --boundary 
    1. body-part 
    --boundary 
    2. body-part 
    --boundary 
    3. body-part 
    --boundary-- 
    
    +1

    açıklayınız * taşıma-dolgu * ayrıca –

    +2

    biz kapanış sınırından sonraki CRLF gerekiyor? – johnlowvale

    +1

    @johnlowvale [CRLF epilogue], bu yüzden [bnf dilbilgisi] 'ne göre CRLF ile sona ermeyi isteğe bağlı olduğunu tahmin ediyorum (https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form). ** Varyantlar ** bölümüne bakınız. –

    İlgili konular