CONNECT request method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Phương thức HTTP CONNECT yêu cầu proxy thiết lập một đường hầm HTTP đến máy chủ đích, và nếu thành công, chuyển tiếp dữ liệu một cách mù quáng theo cả hai hướng cho đến khi đường hầm bị đóng.
Mục tiêu yêu cầu là duy nhất đối với phương thức này ở chỗ nó chỉ bao gồm tên máy chủ và số cổng của đích đường hầm, được phân tách bằng dấu hai chấm (xem Cú pháp để biết chi tiết). Bất kỳ mã trạng thái phản hồi thành công 2XX nào đều có nghĩa là proxy sẽ chuyển sang 'chế độ đường hầm' và bất kỳ dữ liệu nào trong phần thân phản hồi thành công đều đến từ máy chủ được xác định bởi mục tiêu yêu cầu.
Nếu một trang web đứng sau proxy và được thi hành thông qua các quy tắc mạng rằng tất cả lưu lượng bên ngoài phải đi qua proxy, phương thức CONNECT cho phép bạn thiết lập kết nối TLS (HTTPS) với trang web đó:
- Client yêu cầu proxy tạo đường hầm kết nối TCP đến đích mong muốn.
- Máy chủ proxy thực hiện kết nối bảo mật đến máy chủ thay mặt cho client.
- Sau khi kết nối được thiết lập, máy chủ proxy tiếp tục chuyển tiếp luồng TCP đến và đi từ client.
Ngoài việc cho phép truy cập bảo mật vào các trang web đứng sau proxy, đường hầm HTTP cung cấp cách cho phép lưu lượng bị hạn chế (SSH hoặc FTP) đi qua giao thức HTTP(S).
CONNECT là phương thức hop-by-hop (từng chặng), nghĩa là các proxy sẽ chỉ chuyển tiếp yêu cầu CONNECT nếu có một proxy nội tuyến khác ở phía trước máy chủ gốc vì hầu hết các máy chủ gốc không triển khai CONNECT.
Warning:
Nếu bạn đang chạy proxy hỗ trợ CONNECT, hãy giới hạn việc sử dụng nó cho một tập hợp các cổng đã biết hoặc danh sách các mục tiêu yêu cầu an toàn có thể cấu hình.
Có những rủi ro đáng kể trong việc thiết lập đường hầm đến các máy chủ tùy ý, đặc biệt khi đích là cổng TCP nổi tiếng hoặc được dành riêng không nhằm mục đích lưu lượng Web.
Proxy được cấu hình lỏng lẻo có thể bị lạm dụng để chuyển tiếp lưu lượng như SMTP để chuyển tiếp thư rác, chẳng hạn.
| Yêu cầu có phần thân | Không |
|---|---|
| Phản hồi thành công có phần thân | Không |
| An toàn | Không |
| Bất biến | Không |
| Có thể lưu đệm | Không |
| Cho phép trong HTML forms | Không |
Cú pháp
CONNECT <host>:<port> HTTP/1.1
Ví dụ
>Ủy quyền proxy
Yêu cầu đến các máy chủ proxy yêu cầu ủy quyền để tạo đường hầm trông như sau.
Xem tiêu đề Proxy-Authorization để biết thêm thông tin.
CONNECT server.example.com:80 HTTP/1.1
Host: server.example.com:80
Proxy-Authorization: basic aGVsbG86d29ybGQ=
Đặc tả
| Thông số kỹ thuật |
|---|
| HTTP Semantics> # CONNECT> |
Khả năng tương thích với trình duyệt
Xem thêm
- Các phương thức yêu cầu HTTP
- Mã trạng thái phản hồi HTTP
- Tiêu đề HTTP
- Mục từ điển thuật ngữ Proxy server
- Tiêu đề
Proxy-Authorization - How To Use SSH Over An HTTP Proxy dimoulis.net (2023)