All Products
Search
Document Center

Function Compute:HTTP handler

Last Updated:Apr 02, 2026

HTTP handler memungkinkan Anda menjalankan aplikasi web HTTP yang sudah ada di Function Compute tanpa perlu menulis ulang. Function Compute hanya mendukung HTTP handler untuk fungsi custom container dengan CAPort yang telah dikonfigurasi.

Cara kerja

Saat permintaan tiba, Function Compute meneruskannya ke server HTTP yang berjalan di dalam kontainer Anda. Permintaan yang diteruskan mempertahankan semua atribut aslinya: metode, path, parameter kueri, header permintaan, badan permintaan, dan header umum yang dihasilkan oleh Function Compute.

Server HTTP di dalam kontainer Anda memproses permintaan tersebut dan mengembalikan respons. Function Compute kemudian meneruskan respons tersebut ke pemanggil.

Memanggil HTTP handler

Kirim permintaan ke HTTP handler dengan cara yang sama seperti memanggil API web apa pun—menggunakan cURL, Postman, atau browser.

Saat mengakses pemicu HTTP dari browser, respons mungkin diunduh sebagai file alih-alih ditampilkan. Untuk detailnya, lihat Mengapa saya perlu mengunduh respons saat mengakses fungsi dengan HTTP trigger melalui browser web?

Contoh Node.js Express berikut mengarahkan permintaan GET dan POST ke handler terpisah. Petakan path apa pun ke handler yang Anda butuhkan.

'use strict';

const express = require('express');

// Konstanta
const PORT = 9000;
const HOST = '0.0.0.0';

const app = express();
// Parsing badan permintaan sebagai JSON
app.use(express.json());

app.get('/*', (req, res) => {
  console.log(req.body);
  res.send('Hello FunctionCompute, http GET');
});

app.post('/*', (req, res) => {
  console.log(req.body);
  res.send('Hello FunctionCompute, http POST');
});

app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);

Untuk contoh tambahan dalam runtime lainnya, lihat Contoh.

Header permintaan dan respons

Header permintaan khusus

Function Compute menambahkan header berikut ke permintaan yang diteruskan ke kontainer Anda.

HeaderWajibDeskripsi
x-fc-base-pathOpsionalPath dasar yang ditambahkan di awal path permintaan. Jika tidak ada nama domain kustom yang dikonfigurasi, nilainya adalah /2016-08-15/proxy/${servicename}/${functionname}/.
x-fc-statusOpsionalBerlaku untuk fungsi HTTP yang dibuat dengan memanggil operasi API web yang belum dimigrasikan ke Function Compute. Sertakan field ini dalam header respons untuk melaporkan status pemanggilan kembali ke Function Compute.

Dampak x-fc-status terhadap observabilitas:

x-fc-status dalam responsPerilaku
Tidak disetelFunction Compute menganggap pemanggilan berhasil. Kesalahan selama eksekusi fungsi tidak dilaporkan ke Function Compute — logika bisnis tidak terpengaruh, tetapi observabilitas FC terganggu. image8hanshujisuanruntime
DisetelKegagalan pemanggilan fungsi dilaporkan ke Function Compute melalui x-fc-status. Informasi stack error dicatat dalam log. image9runtimefc

Atur kedua StatusCode dan x-fc-status dalam respons HTTP Anda untuk mempertahankan observabilitas penuh.

Header yang dibatasi

Header berikut tidak dapat digunakan dalam permintaan atau respons.

Permintaan — header berikut tidak didukung sebagai field kustom:

  • Field apa pun yang diawali dengan x-fc-

  • connection

  • keep-alive

Respons — header berikut tidak didukung sebagai field kustom:

  • Field apa pun yang diawali dengan x-fc-

  • connection

  • content-length

  • date

  • keep-alive

  • server

  • content-disposition:attachment

Saat menggunakan domain default Function Compute (aliyuncs.com), server secara otomatis menambahkan content-disposition: attachment ke semua respons, sehingga browser mengunduhnya sebagai file. Untuk menghapus pembatasan ini, konfigurasikan nama domain kustom.

Batasan

Batasan HTTP trigger

Setiap versi atau alias fungsi HTTP hanya mendukung satu HTTP trigger. Untuk detailnya, lihat Mengelola versi dan Mengelola alias.

Batasan ukuran permintaan dan respons

KategoriBatasanNilaiKesalahan Saat Melebihi Batas
PermintaanUkuran header (semua kunci + nilai)8 KB400 InvalidArgument
PermintaanUkuran path (termasuk semua parameter kueri)4 KB400 InvalidArgument
PermintaanUkuran badan — pemanggilan sinkron32 MB400 InvalidArgument
PermintaanUkuran badan — pemanggilan asinkron128 KB400 InvalidArgument
ResponsUkuran header (semua kunci + nilai)8 KB502 BadResponse

Nama domain kustom dan API Gateway

Ikatkan nama domain kustom ke fungsi HTTP Anda untuk memetakan path URL berbeda ke fungsi yang berbeda. Lihat Mengonfigurasi nama domain kustom.

Sebagai alternatif, gunakan API Gateway dengan jenis layanan backend diatur ke HTTP dan path fungsi HTTP sebagai alamat layanan backend. Lihat Menggunakan Function Compute sebagai layanan backend suatu operasi API.

Contoh

FAQ