HTTP status code 1.xx informational

This entry is part 2 of 3 in the series List HTTP status code

HTTP status code 1.xx informational

Nó nghĩa là yêu cầu đã được nhận và tiến trình đang tiếp tục.

Gồm 2 trạng thái chính là 100 (Continue)  101 (Switching protocols).

100 (Continue)

Máy chủ trả về mã này để chỉ ra rằng nó đã nhận được một phần đầu tiên của một yêu cầu và được chờ đợi cho phần còn lại.

Thông tin

Là mã trạng thái mà chúng ta không cần quá quan tâm.
Giả sử bạn đang gửi một đối tượng lớn đến máy chủ bằng cách sử dụng PUT, bao gồm Expect tiêu đề như sau:

Điều này cho máy chủ biết rằng nó sẽ phản hồi bằng 100 Continue nếu máy chủ có khả năng chấp nhận yêu cầu:
HTTP/1.1 100 Continue

Khi máy khách nhận được điều này, nó sẽ báo cho máy khách biết máy chủ sẽ chấp nhận yêu cầu và nó có thể bắt đầu gửi phần thân yêu cầu.
Lợi ích lớn ở đây là nếu có sự cố với yêu cầu, máy chủ có thể phản hồi ngay lập tức bằng lỗi trước khi khách hàng bắt đầu gửi nội dung yêu cầu.

Một trường hợp sử dụng đơn giản là một máy chủ đầu tiên có thể yêu cầu xác thực bằng cách sử dụng 401 Unauthorized, hoặc nó có thể biết trước rằng Content-Type máy khách muốn gửi đến máy chủ không phải là thứ mà máy chủ sẽ muốn chấp nhận.

Thật không may, nó không phải luôn luôn có thể tận dụng lợi thế của tính năng này.
Ví dụ PHP không có sự kiện mà bạn có thể kết nối để nói với khách hàng sớm rằng nó nên ngừng gửi yêu cầu. Các tập lệnh PHP chỉ bắt đầu sau khi nhận được yêu cầu đầy đủ, đã quá muộn.Một ví dụ về ngôn ngữ không hỗ trợ là Node.js. Node.js có một checkContinue sự kiện trên http.Server lớp của nó có thể được lắng nghe, để có khả năng gửi một mã lỗi sớm ( nguồn ). Nếu người dùng không triển khai sự kiện này, Node.js sẽ gửi 100 Continue trạng thái theo mặc định.

101 (Switching protocols)

Bên yêu cầu đã yêu cầu các máy chủ để chuyển đổi và máy chủ được thừa nhận rằng nó sẽ làm như vậy

Thông tin

là trạng thái được sử dụng cho một máy chủ để chỉ ra rằng các conncection TCP là được sử dụng cho một giao thức khác nhau.
HTTP/2 cũng sử dụng cơ chế này để nâng cấp từ HTTP/1.1 lên kết nối HTTP/2 không ssl. Xem rfc7540

Ví dụ tốt nhất về điều này là trong giao thức WebSocket . WebSocket sử dụng một HTTP handshake khi tạo kết nối, chủ yếu vì lý do bảo mật.

Ví dụ

Khi một máy khách WebSocket khởi động kết nối, một vài byte đầu tiên sẽ trông giống như sau:

Nếu máy chủ hỗ trợ WebSocket, nó sẽ phản hồi 101 Switching Protocols và sau đó chuyển sang giao thức WebSocket:

Series Navigation<< Giới thiệu HTTP và danh sách trạng thái codeHTTP status code 2.xx Success >>

Trả lời

Close Menu