Enctype= Multipart/Form-Data Là Gì

     

Trong vượt trình thao tác làm việc với API, mình chạm chán một chút sự việc với kiểu dáng mã hóa dữ liệu khi submit form cùng gửi dữ liệu cho server. Sau khi tìm hiểu, bạn muốn chia sẻ lại kiến thức và kỹ năng này cũng đều người, mong muốn nó sẽ 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 đang đi sâu vào những loại này rộng nhé.

2. URL Encoded Form

Ví dụ:

Ở đây, cách thức đước áp dụng là cách thức POST, như vậy dữ liệu sẽ sở hữu trong body toàn thân của request. Mẫu mã mã hóa được sử dụng ở đây là kiểu URL Encoded. Hiểu đơn giản và dễ dàng thì dữ liệu được màn trình diễn dưới dạng (key, value), nối cùng 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 tách bóc nhau bở dấu =.

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

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

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

*
Ta thấy, sinh sống trường Content-Type 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ú ý trường Content-Type và payload của request.

Xem thêm: Meaning Of Scrambled Eggs Là Gì, Scrambled Eggs Là Gì

Content-Type Header

Ngoài giá trị multipart/form-data, nghỉ ngơi Content-Type còn có giá trị boundary. Giá trị này do trình duyệt tạo thành ra, nhưng nếu bắt buộc 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 biểu diễn dưới dạng:

-->Content-Disposition: form-data; name=">">Kết thúc payload sẽ là cực 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 hình dáng mã hóa application/x-www-form-urlencoded, từng cặp (key, value) được phân làn với nhau bằng dấu & cho chép hệ thống biết nơi ban đầu và hoàn thành của một tham số. CÒn với giao diện 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ẽ phát âm được ban đầu và ngừng của các giá trị.

4. Text/plain Forms

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

Xem thêm: Sách Self Help Là Gì ? Các Thể Loại Sách Self Help? Nên Hay Không Nên Đọc?

5. Tổng kết

Trên đó là một số tìm kiếm hiểu của mình về những loại HTML khung Encoding. Tuy không thật sự hoàn hảo nhưng muốn rằng hoàn toàn có thể giúp chúng ta hiểu và biệt lập cơ bản. Cảm ơn những 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