Error Codes Wiki

HTTP 100 Continue Expect Header Issues — What It Means & How to Fix It

Informationalapi errors

About HTTP 100 Continue Expect Header Issues

Troubleshoot HTTP 100 Continue responses when the Expect header causes unexpected behavior in client-server communication. This guide covers everything you need to know about this topic, including common causes, step-by-step solutions, and answers to frequently asked questions.

Here are the key things to understand: The HTTP 100 Continue status is sent when the server has received the request headers and the client should proceed to send the body. Some older proxies and load balancers do not handle the Expect: 100-continue header correctly. Clients sending large payloads use this mechanism to avoid transmitting data that will be rejected. Misconfigured servers may hang indefinitely waiting for the body or skip the 100 response entirely. Understanding these fundamentals will help you diagnose and resolve this issue more effectively.

The most common reasons this occurs include: Client sends Expect: 100-continue but the server never responds with 100 Continue. Reverse proxy strips the Expect header before forwarding the request. Server framework does not support the 100 Continue handshake. Timeout set too low for the 100 Continue response. Identifying the root cause is the first step toward finding the right solution.

To resolve this, follow these recommended steps: Check if your HTTP client library supports disabling the Expect header (e.g., curl -H 'Expect:' to remove it). Verify your reverse proxy (Nginx, HAProxy) is configured to pass through the Expect header. Increase the timeout for the 100 Continue response in your client settings. Test the request directly against the origin server bypassing any proxies to isolate the issue. If these steps do not resolve the issue, consider consulting additional resources or a qualified professional.

This article is part of our HTTP Status Codes collection on Error Codes Wiki. We provide comprehensive, up-to-date information to help you find solutions quickly.

Quick Answer

When should I use the Expect: 100-continue header?

Use it when sending large request bodies (uploads, bulk data). It allows the server to reject the request before the client sends the entire body, saving bandwidth.

Overview

Troubleshoot HTTP 100 Continue responses when the Expect header causes unexpected behavior in client-server communication.

Key Details

  • The HTTP 100 Continue status is sent when the server has received the request headers and the client should proceed to send the body
  • Some older proxies and load balancers do not handle the Expect: 100-continue header correctly
  • Clients sending large payloads use this mechanism to avoid transmitting data that will be rejected
  • Misconfigured servers may hang indefinitely waiting for the body or skip the 100 response entirely

Common Causes

  • Client sends Expect: 100-continue but the server never responds with 100 Continue
  • Reverse proxy strips the Expect header before forwarding the request
  • Server framework does not support the 100 Continue handshake
  • Timeout set too low for the 100 Continue response

Steps

  1. 1Check if your HTTP client library supports disabling the Expect header (e.g., curl -H 'Expect:' to remove it)
  2. 2Verify your reverse proxy (Nginx, HAProxy) is configured to pass through the Expect header
  3. 3Increase the timeout for the 100 Continue response in your client settings
  4. 4Test the request directly against the origin server bypassing any proxies to isolate the issue

Tags

100-continueexpect-headerhttpapiproxy

More in Api Errors

Frequently Asked Questions

Use it when sending large request bodies (uploads, bulk data). It allows the server to reject the request before the client sends the entire body, saving bandwidth.