We use x-www-form-urlencoded to send simple form data in HTTP requests. It turns data into key-value pairs that servers can easily read.
When submitting login forms with username and password.
When sending small amounts of data like search queries.
When APIs expect data in a simple key-value format.
When testing web forms that use POST method.
When you want to simulate browser form submissions.
Syntax
Postman
key1=value1&key2=value2&key3=value3
Keys and values are URL encoded to handle spaces and special characters.
Pairs are joined by '&' and keys are separated from values by '='.
Examples
Sends username and password as form data.
Postman
username=johndoe&password=12345
Search query with spaces encoded as '+'.
Postman
search=coffee+shop&location=New+York
Multiple form fields sent together.
Postman
color=red&size=medium&quantity=2
Sample Program
This is a simple HTTP POST request sending login data using x-www-form-urlencoded format.
Postman
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
username=johndoe&password=12345
OutputSuccess
Important Notes
Always set the Content-Type header to 'application/x-www-form-urlencoded' when sending this data.
Use URL encoding for special characters to avoid errors.
This format is best for simple data, not for files or complex objects.
Summary
x-www-form-urlencoded sends form data as key-value pairs joined by '&'.
It is commonly used for simple POST requests like login or search forms.
Remember to set the correct Content-Type header and encode data properly.
Practice
(1/5)
1. What does the x-www-form-urlencoded body type do in Postman?
easy
A. Sends data as plain text without encoding
B. Sends data as a JSON object in the request body
C. Uploads files as binary data
D. Sends form data as key-value pairs joined by '&' in the request body
Solution
Step 1: Understand the body type purpose
x-www-form-urlencoded sends form data as key-value pairs joined by '&' in the request body, similar to how HTML forms send data.
Step 2: Compare with other body types
JSON body sends data as JSON, binary uploads files, and plain text sends raw text. Only x-www-form-urlencoded uses key-value pairs joined by '&'.
Final Answer:
Sends form data as key-value pairs joined by '&' in the request body -> Option D
Quick Check:
Form data = key-value pairs & joined by '&' [OK]
Hint: Remember: form data uses key=value pairs joined by & [OK]
Common Mistakes:
Confusing x-www-form-urlencoded with JSON body
Thinking it uploads files
Assuming it sends raw text without encoding
2. Which of the following is the correct way to set a key-value pair in Postman's x-www-form-urlencoded body tab?
easy
A. key: value
B. key=value
C. key and value in separate columns
D. JSON format like {"key":"value"}
Solution
Step 1: Check Postman UI for x-www-form-urlencoded
In Postman, the x-www-form-urlencoded body tab shows two columns: one for keys and one for values.
Step 2: Understand correct input format
You enter keys and values separately in these columns; Postman encodes them automatically as key=value pairs joined by '&'.
Final Answer:
key and value in separate columns -> Option C
Quick Check:
Separate columns = correct input method [OK]
Hint: Use separate key and value columns in Postman body tab [OK]
Common Mistakes:
Typing key and value together with ':' or '=' manually
Trying to enter JSON in x-www-form-urlencoded tab
Not using the provided columns for input
3. Given the following key-value pairs in Postman's x-www-form-urlencoded body: username: user1 password: pass@123 What will be the encoded request body sent?
medium
A. username=user1&password=pass%40123
B. username=user1,password=pass@123
C. {"username":"user1","password":"pass@123"}
D. username:user1&password:pass@123
Solution
Step 1: Understand URL encoding in x-www-form-urlencoded
Special characters like '@' are percent-encoded. '@' becomes '%40'. Keys and values are joined by '=', pairs joined by '&'.
Step 2: Apply encoding to given data
username=user1 (no special chars), password=pass@123 becomes password=pass%40123. Joined as username=user1&password=pass%40123.
Final Answer:
username=user1&password=pass%40123 -> Option A
Quick Check:
Special chars encoded, pairs joined by & [OK]
Hint: Encode special chars like '@' as %40 in form data [OK]
Common Mistakes:
Not encoding special characters
Using JSON format instead of form encoding
Using commas or colons instead of & and =
4. You set the x-www-form-urlencoded body in Postman with keys and values, but the server responds with a 400 Bad Request error. What is the most likely cause?
medium
A. You forgot to set the Content-Type header to application/x-www-form-urlencoded
B. You used JSON format in the body tab
C. You entered keys and values in separate columns
D. You used GET method instead of POST
Solution
Step 1: Check Content-Type header requirement
When sending x-www-form-urlencoded data, the Content-Type header must be set to application/x-www-form-urlencoded so the server knows how to parse the body.
Step 2: Analyze common mistakes
Using JSON format or entering keys correctly is fine if Content-Type is correct. Using GET method sends no body. The most common cause is missing or wrong Content-Type header.
Final Answer:
You forgot to set the Content-Type header to application/x-www-form-urlencoded -> Option A
Quick Check:
Content-Type header missing = 400 error [OK]
Hint: Always set Content-Type header for form data [OK]
Common Mistakes:
Not setting Content-Type header
Using wrong HTTP method
Entering data in wrong format
5. You want to send a login request using x-www-form-urlencoded body in Postman with keys username and password. The password contains spaces and special characters like pass word@123!. How should you prepare the body to ensure the server receives it correctly?
hard
A. Manually replace spaces with '%20' and special chars with percent codes before entering
B. Enter keys and values normally; Postman will encode spaces as '+' and special chars automatically
C. Use JSON body instead to avoid encoding issues
D. Replace spaces with underscores and remove special characters manually
Solution
Step 1: Understand Postman's encoding behavior
Postman automatically encodes spaces as '+' and special characters as percent-encoded values when using x-www-form-urlencoded body type.
Step 2: Avoid manual encoding
Manually encoding or altering the data can cause errors or double encoding. Using JSON body changes the content type and server parsing. Replacing characters manually is error-prone.
Final Answer:
Enter keys and values normally; Postman will encode spaces as '+' and special chars automatically -> Option B
Quick Check:
Postman auto-encodes form data correctly [OK]
Hint: Let Postman handle encoding; enter raw values normally [OK]
Common Mistakes:
Manually encoding values causing double encoding
Switching to JSON body unnecessarily
Altering data by removing or replacing characters
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.