Trong quy trình làm việc với API, mình gặp một chút ít sự việc cùng với phong cách mã hóa dữ liệu khi submit size với gửi dữ liệu mang đến VPS. Sau lúc tò mò, bạn muốn chia sẻ lại kiến thức này cũng hầu hết fan, hy vọng nó để giúp chúng ta hiểu phần làm sao.

Bạn đang xem: Enctype= multipart/form-data là gì

1. Giới thiệu

Bây giờ đồng hồ, ta đang đi sâu vào những loại này rộng nhé.

2. URL Encoded Form

Ví dụ:

Ở trên đây, cách tiến hành đước sử dụng là cách tiến hành POST, điều này dữ liệu sẽ có được trong body toàn thân của request. Kiểu mã hóa được dùng sinh hoạt đấy là kiểu dáng URL Encoded. Hiểu dễ dàng và đơn giản thì tài liệu được biểu diễn bên dưới dạng (key, value), nối cùng nhau bởi ký hiệu & thành một chuỗi (long string). Trong mỗi cặp (key, value), key cùng value bóc nhau blàm việc lốt =.

Ví dụ: key1=value1&key2=value2

Với size nlỗi trong ví dụ thì dữ liệu trình lên đã là: username=sidthesloth&password=slothsecret.

Hình như, xem xét ở trong tính action của form tất cả /urlencoded?firstname=sid&lastname=sloth. Dữ liệu này và dữ liệu truyền lên tự khung tương đương nhau về kiểu mã hóa.

*
Ta thấy, sinh sống ngôi trường Content-Type trên header của request gồm xác minh hình trạng mã hóa là application/x-www-form-urlencoded.

3. Multipart Forms

Xem đọc tin của request:

*
Crúc ý trường Content-Type với payload của request.

Xem thêm: So Far Nghĩa Là Gì ? Được Sử Dụng Trong Thì Nào + Ví Dụ Cụ Thể

Content-Type Header

Ngoài giá trị multipart/form-data, ở Content-Type còn có quý giá boundary. Giá trị này vì trình chu đáo tạo nên, mà lại ví như yêu cầu thì ta vẫn hoàn toàn có thể xác định nó.

Request Body

Mỗi cặp (key, value) được biểu diễn dưới dạng:

-->Content-Disposition: form-data; name=">">Kết thúc payload vẫn là giá trị của boundary nối cùng với kí hiệu --.

-->Content-Disposition: form-data; name=">">-->Content-Disposition: form-data; name=">">-->--Như vậy, với hình dáng mã hóa application/x-www-form-urlencoded, mỗi cặp (key, value) được phân làn cùng nhau bằng lốt & mang lại chxay server biết chỗ bắt đầu với xong của một tsi số. CÒn cùng với vẻ bên ngoài multipart/form-data, những quý hiếm boundary triển khai các bước này.

ví dụ như, nếu đặt boundary=XXX thì

Content-Type: multipart/form-data; boundary=XXXpayload có dạng:

--XXXContent-Disposition: form-data; name="username"sidthesloth--XXXContent-Disposition: form-data; name="password"slothsecret--XXX--vì thế, trình cẩn thận đã đọc được bước đầu với kết thúc của các quý giá.

4. Text/plain Forms

Kiểu mã hóa này gần giống cùng với giao diện URL encoded forms, ko kể câu hỏi những trường của khung ko được mã hóa lúc trình lên hệ thống. Kiểu này sẽ không được dùng rộng thoải mái vì chưng kiểu định dạng đó có thể phát âm được và kém nhẹm bảo mật thông tin. Để phát âm hơn, bạn có thể hiểu tại đây.

5. Tổng kết

Trên đó là một vài tìm hiểu của chính mình về các nhiều loại HTML Form Encoding. Tuy không thiệt sự hoàn hảo mà lại ý muốn rằng hoàn toàn có thể góp chúng ta gọi và sáng tỏ cơ bạn dạng. Cảm ơn các bạn.

Tài liệu tđắm đuối khảo

https://dev.to/sidthesloth92/understanding-html-form-encoding-url-encoded-and-multipart-forms-3lpa#:~:text=application%2Fx-www-form,user wants to upload files

https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *