Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

multipart/related

Termin Definicja
multipart/related

multipart/related to typ wiadomości, w którym części są ze sobą powiązane, np. HTML z osadzonymi obrazami.

Jak działa typ MIME multipart/related

multipart/related jest typem mediów zdefiniowanym w standardzie MIME dla wiadomości, których poszczególne części tworzą jeden logiczny zasób. W przeciwieństwie do multipart/mixed, gdzie załączniki mogą być niezależne, tutaj elementy są powiązane znaczeniowo z częścią główną. Typowym przykładem jest dokument HTML zawierający odwołania do obrazów, arkuszy stylów albo innych zasobów umieszczonych w tej samej wiadomości MIME.

Wiadomość tego rodzaju ma nagłówek Content-Type: multipart/related oraz parametr boundary, który wyznacza granice między częściami. Każda część posiada własne nagłówki MIME, między innymi Content-Type, a często także Content-ID lub Content-Location. Pierwsza część jest zwykle dokumentem głównym, na przykład HTML-em, natomiast kolejne części zawierają zasoby używane przez ten dokument. Oprogramowanie odczytujące wiadomość powinno zachować relacje między tymi elementami, a nie traktować ich jako przypadkowego zestawu załączników.

Parametry type, start i identyfikatory Content-ID

Specyfikacja multipart/related przewiduje parametr type, który wskazuje typ głównej części pakietu, na przykład text/html. Parametr start może wskazywać identyfikator części uznawanej za główny dokument. Identyfikator jest zapisywany w formie wartości odpowiadającej nagłówkowi Content-ID, zwykle z użyciem składni adresu identyfikacyjnego otoczonego znakami ostrymi, takimi jak <root@example>. Jeżeli parametr start nie występuje, w typowym przypadku za część główną przyjmuje się pierwszą część po nagłówku kontenera.

HTML może odwoływać się do osadzonego obrazu przez adres cid:, na przykład <img src="cid:logo@example">. Odbiorca wyszukuje wtedy część MIME z odpowiadającym jej nagłówkiem Content-ID: <logo@example> i wykorzystuje zawarte w niej dane zamiast pobierać obraz z zewnętrznego adresu HTTP. Każdy identyfikator powinien jednoznacznie wskazywać właściwy zasób w obrębie wiadomości. Błędna wartość Content-ID, brak odpowiedniej części albo niezgodność między identyfikatorem w HTML-u i nagłówku MIME może spowodować wyświetlenie pustego miejsca lub niedziałającego odwołania.

Budowa wiadomości i typowe problemy z interpretacją

Każda część multipart/related jest oddzielona wartością boundary, a zakończenie całego zbioru oznacza granica końcowa zawierająca dodatkowy separator zamykający. Dane binarne mogą być transportowane z użyciem kodowania Content-Transfer-Encoding: base64. Przykładowo część główna może mieć nagłówki Content-Type: text/html; charset=UTF-8, a obraz może być opisany jako Content-Type: image/png z własnym Content-ID. Kodowanie transferowe dotyczy sposobu zapisania danych w wiadomości i nie zmienia typu samego zasobu.

Problemy pojawiają się między innymi wtedy, gdy program błędnie rozpoznaje granice, nie dekoduje kodowania base64 albo nie obsługuje odwołań cid:. Innym przypadkiem jest umieszczenie dokumentu HTML w multipart/alternative, a zasobów obrazkowych w osobnym, niepowiązanym miejscu. W takiej strukturze klient może poprawnie pokazać tekst, lecz nie odnaleźć obrazów. Przy analizie wiadomości warto sprawdzić kompletny nagłówek Content-Type, wartość boundary, kolejność części, nagłówki Content-ID oraz dokładną treść odwołań w dokumencie głównym. Sam fakt, że plik graficzny znajduje się w wiadomości, nie oznacza jeszcze, że został prawidłowo powiązany z HTML-em.

Sprawdzanie obsługi osadzonych zasobów na komputerze

Na laptopie lub komputerze PC można rozpocząć diagnostykę od zapisania oryginalnej wiadomości MIME bez zmiany jej nagłówków. Następnie należy ustalić, czy parser rozpoznaje typ multipart/related i poprawnie dzieli treść według granic określonych parametrem boundary. Warto porównać liczbę odnalezionych części z liczbą zasobów wskazanych w HTML-u. Dla każdego odwołania cid: należy sprawdzić, czy istnieje dokładnie jeden odpowiadający nagłówek Content-ID; identyfikatory porównuje się bez przypadkowego dodawania lub usuwania znaków otaczających.

Jeżeli obraz nie jest wyświetlany, należy rozróżnić problem z relacją MIME od problemu z samym plikiem. Po zdekodowaniu części można sprawdzić jej sygnaturę binarną, na przykład zgodność danych z deklarowanym formatem PNG lub JPEG, oraz zweryfikować, czy rozmiar danych nie został obcięty. Przydatne jest także otwarcie tej samej wiadomości w innym programie pocztowym lub parserze MIME, ponieważ różne aplikacje mogą odmiennie tolerować brak parametru type, nietypowe rozmieszczenie części albo niepoprawne nagłówki. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki oprogramowania można również ustalić, czy problem z wyświetlaniem wiadomości wynika z konfiguracji programu, uszkodzonego pliku czy niezgodnej struktury MIME.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę