# HTTP semantics for web API architectures

*MuleSoft Platform Integration Architect Study Guide · Designing architecture using integration paradigms · Last updated November 13, 2026 · https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect/designing-architecture-using-integration-paradigms/http-semantics-for-web-api-architectures*

The HTTP contract decisions a web API architect makes: which header carries which meaning, how URI limits, redirects, the 100-continue handshake, resource creation, cookies and conditional range requests behave, and where Mule's HTTP Connector sets its own limits.

- Certification: Salesforce MuleSoft Platform Integration Architect
- Exam section: Designing architecture using integration paradigms
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect

**Official exam objective:**

> Create high-level integration architectures using web APIs and HTTP.

## What the exam expects

- Separate the header that describes a request body from the header that asks for a response format.
- Diagnose a rejected request from its status code (414, 417, 416) and change the part of the request that was rejected.
- Pick the redirect status whose method-and-body behaviour and permanence match a requirement.
- Use the Expect: 100-continue handshake, the 201 Created plus Location pattern and multiple Set-Cookie fields correctly.
- Resume a large transfer safely with Range and If-Range, and read the 206 and 200 outcomes.
- Recognize where Mule's HTTP Connector applies its own header-size and status-code rules.

**Content negotiation**: the server picks one of the client's proposed formats and reports it in Content-Type. **Media type**: the MIME type of a body, such as application/json. **Interim response**: a 1xx status sent before the final one, such as 100 Continue. **Entity tag (ETag)**: an identifier for a specific version of a resource. **Range request**: a request for part of a resource, answered with 206 Partial Content ([Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept), [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Expect), [ETag via If-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/If-Range), [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range)).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Request body type | Content-Type in a POST or PUT describes the content being sent. | [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Type) |
| Response format | Accept proposes types; the server reports its choice in Content-Type. | [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept) |
| 414 | URI longer than the server is willing to interpret. | [414](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/414) |
| Mule header section | Request line plus headers, default 8192 bytes. | [HTTP Request](https://docs.mulesoft.com/http-connector/latest/http-request-ref) |
| Mule default validator | Error when the status code is 400 or above. | [HTTP Request](https://docs.mulesoft.com/http-connector/latest/http-request-ref) |
| 303 | Redirected request is always GET. | [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Location) |
| 307 | Temporary; method and body guaranteed unchanged. | [307](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/307) |
| 100 Continue | Server is ready to receive the request content. | [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Expect) |
| 201 Created | New resource locatable by request URL or Location. | [201](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/201) |
| Several cookies | Several Set-Cookie headers in the same response. | [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie) |
| If-Range result | 206 when fulfilled; full resource with 200 when not. | [If-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/If-Range) |
| Invalid Range | 416 Range Not Satisfiable. | [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range) |

## Check yourself

- When can a 414 response occur even though the client never built a long query string?
- Why does a 206 response for two requested ranges use multipart/byteranges?
- Why can frontend JavaScript in a browser not read a response's Set-Cookie header?
- Which status code tells a client that its requested byte ranges are invalid?

## Sources

- [Accept header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept)
- [Content-Type header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Type)
- [Accept-Encoding header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Encoding)
- [414 URI Too Long](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/414)
- [Location header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Location)
- [307 Temporary Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/307)
- [Expect header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Expect)
- [201 Created](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/201)
- [Set-Cookie header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie)
- [If-Range header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/If-Range)
- [Range header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Range)
- [206 Partial Content](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/206)
- [Configure HTTP Request Operation](https://docs.mulesoft.com/http-connector/latest/http-request-ref)
- [Configure HTTP Listener Source](https://docs.mulesoft.com/http-connector/latest/http-listener-ref)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 7 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Platform Integration Architect pack (USD $19): https://www.certifyforce.com/practice-exams
