View a markdown version of this page

Permintaan dan tanggapan HTTP - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Permintaan dan tanggapan HTTP

Endpoint Web Function menerima HTTP/1.1 permintaan dan meneruskannya ke aplikasi Anda. HTTP/1.1 Lambda menolak HTTP/1.0 permintaan dengan HTTP 505 (Versi HTTP Tidak Didukung). Lambda mempertahankan metode permintaan, jalur, string kueri, badan, dan sebagian besar header. Ini menghapus atau mengubah header yang menggambarkan hubungan antara klien dan titik akhir. Ini juga menambahkan header yang menyediakan konteks permintaan.

Metode HTTP

Web Function endpoint mendukungGET,HEAD,POST,PUT,PATCH,OPTIONS, danDELETE.

Lambda menolak metode yang tidak didukung dengan respons HTTP 400 sebelum permintaan mencapai aplikasi Anda.

Minta header

Lambda menghapus header berikut sebelum meneruskan permintaan:

  • Connection, Keep-Alive, Upgrade, Expect, TE, dan Trailer

  • Proxy-Authenticate, Proxy-Authorization, dan Proxy-Connection

  • X-Real-IP

  • X-HTTP-Method-Override, X-HTTP-Method, dan X-Method-Override

  • Header yang namanya dimulai denganlambda-web-, dan header bernama di header Connection

Lambda memvalidasi atau mengubah header berikut.

Header Perilaku
Host Harus berupa nama domain endpoint Web Function (misalnya,bcdfghjklmnpqrst.b7t.lambda-web.us-east-1.on.aws), dalam huruf kecil dan tanpa port. Lambda merutekan nilai ini dan mengembalikan HTTP 404 jika tidak cocok dengan titik akhir, atau HTTP 400 jika header hilang. Aplikasi Anda menerima nama domain endpoint.
X-Forwarded-For Lambda menambahkan alamat IP klien penghubung sebagai nilai terakhir. Nilai sebelumnya berasal dari klien dan tidak divalidasi. Ketika CloudFront distribusi Amazon berada di depan titik akhir, nilai terakhir adalah CloudFront alamat.

Lambda maju X-Forwarded-Host dari klien tanpa validasi. Jangan menggunakannya untuk membuat pengalihan, URL absolut, atau otorisasi berbasis host kecuali pintu depan yang Anda kendalikan mengaturnya.

Lambda menambahkan header berikut.

Header Deskripsi
lambda-web-request-id Pengidentifikasi yang diberikan Lambda ke permintaan.
lambda-web-endpoint-name Nama titik akhir yang menerima permintaan.

Untuk titik akhir yang menggunakan otorisasi IAM, Lambda memvalidasi permintaan yang ditandatangani dan menghapus header sebelum meneruskannya. Authorization Untuk informasi selengkapnya, lihat Menggunakan jenis IamAuthotentikasi.

Header respons

Lambda menghapus header cakupan koneksi dan trailer HTTP dari respons aplikasi Anda. Tergantung pada hasil permintaan, Lambda dapat menambahkan header berikut.

Header Deskripsi
lambda-web-request-id Pengidentifikasi permintaan. Gunakan untuk mengkorelasikan respons dengan log aplikasi dan sistem.
lambda-web-logstream Aliran CloudWatch log Amazon Logs yang berisi log untuk lingkungan eksekusi yang menangani permintaan.
lambda-web-error-type Jenis kesalahan, dalam format <Prefix>.<ErrorReason> (misalnya, Platform.EndpointRequestThrottle atauRuntime.RequestTimeout). Lambda menghilangkan header ini untuk kesalahan layanan internal dan kegagalan otorisasi. Untuk daftar nilai, lihatJenis kesalahan Fungsi Web.

Batas header

Baris permintaan, header permintaan, dan mengakhiri baris kosong dapat berjumlah hingga 128 KiB. Lambda menolak permintaan yang melebihi batas ini dengan HTTP 431 (Request Header Fields Too Large) sebelum permintaan mencapai aplikasi Anda. Untuk pemecahan masalah, lihat. Minta batas header