Tôi muốn hiểu rằng, nếu tùy thuộc vào cách máy khách định cấu hình kết nối http, máy chủ có thể hoạt động theo cách không liên tục hoặc liên tục, do đó, trên thực tế, một số máy khách có thể kết nối ở chế độ liên tục và một số máy khách có thể kết nối ở chế độ không liên tục.

Bất kỳ mã mẫu nào đặc biệt trong java sẽ hữu ích.

answer

Điều này phụ thuộc vào phiên bản giao thức:

HTTP / 1.0

(Dành cho người lớn tuổi giữa chúng ta). Các kết nối sẽ bị đóng ngay lập tức trừ khi được chỉ định khác. Để duy trì kết nối, máy khách có thể thêm Connection: keep-alivetiêu đề vào yêu cầu. Nếu máy chủ hỗ trợ điều này và đồng ý, kết nối sẽ được duy trì. Nếu một trong hai bên không còn muốn giữ kết nối (ví dụ: máy khách không còn thêm tiêu đề đã nói hoặc thêm Connection: close), kết nối sẽ bị đóng sau khi yêu cầu hoàn tất.

HTTP / 1.1

Ở đây, mặc định giữ cho kết nối luôn mở, trừ khi được khai báo cụ thể khác ( Connection: close). Tuy nhiên, máy chủ có thể quyết định đóng kết nối sau một số thời gian chờ không hoạt động (ví dụ: 5 giây). Sau đó, một lần nữa, bạn không bao giờ có thể buộc máy chủ duy trì kết nối, nhưng thực hiện một yêu cầu giả cứ sau 4 giây có thể hoạt động - nhưng đây thực sự phải là một yêu cầu hầu như không gây tải cho máy chủ và với tư cách là quản trị viên máy chủ, Tôi thậm chí còn khó chịu bởi rất nhiều dòng khó chịu trong tệp nhật ký.

Tôi sẽ không đi sâu hơn vào HTTP / 2 vì các tùy chọn ghép kênh và đẩy dịch vụ làm cho tình hình hơi phức tạp.