Enctype= multipart/form-data là gì

  -  

Trong thừa trình thao tác với API, mình gặp một chút vụ việc với phong cách mã hóa tài liệu khi submit form cùng gửi tài liệu cho server. Sau khoản thời gian tìm hiểu, bạn muốn chia sẻ lại kỹ năng này cũng hầu như người, hi vọng nó vẫn giúp chúng ta hiểu phần nào.

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

1. Giới thiệu

Bây giờ, ta vẫn đi sâu vào những loại này hơn nhé.

2. URL Encoded Form

Ví dụ:

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

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

Với size như trong ví dụ thì dữ liệu gửi lên sẽ là: username=sidthesloth&password=slothsecret.

Ngoài ra, để ý thuộc tính kích hoạt của form có /urlencoded?firstname=sid&lastname=sloth. Dữ liệu này và tài liệu truyền lên từ size giống nhau về dạng hình mã hóa.

*
Ta thấy, sống trường Content-Type bên trên header của request có xác định kiểu mã hóa là application/x-www-form-urlencoded.

3. Multipart Forms

Xem tin tức của request:

*
Chú ý ngôi trường Content-Type và payload của request.

Xem thêm: Trang Phục Sử Thi Lmht - Các 100+ Skin Đẹp Nhất Trong Lol

Content-Type Header

Ngoài cực hiếm multipart/form-data, làm việc Content-Type còn có giá trị boundary. Quý hiếm này vày trình duyệt tạo thành ra, tuy thế nếu 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 màn trình diễn dưới dạng:

-->Content-Disposition: form-data; name=">">Kết thúc payload đang là quý hiếm của boundary nối với kí hiệu --.

-->Content-Disposition: form-data; name=">">-->Content-Disposition: form-data; name=">">-->--Như vậy, với loại mã hóa application/x-www-form-urlencoded, mỗi cặp (key, value) được ngăn cách với nhau bằng dấu & cho chép vps biết nơi bước đầu và ngừng của một tham số. CÒn với kiểu dáng multipart/form-data, các giá trị boundary thực hiện công việc này.

Ví dụ, 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--Như vậy, trình chăm sóc sẽ gọi được ban đầu và xong của những giá trị.

4. Text/plain Forms

Kiểu mã hóa này tương tự với hình trạng URL encoded forms, ko kể việc các trường của size không được mã hóa khi trình lên server. Kiểu này không được dùng thoáng rộng vì format này hoàn toàn có thể đọc được với kém bảo mật. Để đọc hơn, bạn có thể đọc tại đây.

Xem thêm: App Giải Phóng Bộ Nhớ Iphone Có Bộ Nhớ Thấp, Cách Giải Phóng Bộ Nhớ Trên Iphone

5. Tổng kết

Trên đây là một số kiếm tìm hiểu của mình về các loại HTML form Encoding. Tuy không thật sự hoàn hảo nhưng muốn rằng rất có thể giúp các bạn hiểu và tách biệt cơ bản. Cảm ơn các bạn.

Tài liệu tham khảo

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

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