Thông tin này được lưu giữ ở đâu ("kết nối này là giữa máy tính A
và máy chủ F
")?
Kết nối TCP được nhận dạng bởi IP nguồn và cổng và IP đích và cổng. Hệ điều hành của bạn, tất cả các thiết bị nhận biết phiên trung gian và hệ điều hành của máy chủ sẽ nhận ra kết nối bằng cách này.
HTTP hoạt động với request-response: máy khách kết nối với máy chủ, thực hiện một yêu cầu và nhận phản hồi. Nếu không có tính năng duy trì, kết nối với máy chủ HTTP sẽ bị đóng sau mỗi phản hồi. Với HTTP vẫn tồn tại, bạn giữ cho kết nối TCP cơ bản mở cho đến khi đáp ứng các tiêu chí nhất định.
Điều này cho phép tạo ra nhiều cặp phản hồi yêu cầu trên một kết nối TCP duy nhất, loại bỏ một số trường hợp khởi động kết nối tương đối chậm của TCP.
Khi IIS (F) gửi tiêu đề còn sống (hoặc người dùng gửi tiêu đề còn sống), điều đó có nghĩa là (E, C, B) lưu kết nối
Không. Bộ định tuyến không cần phải nhớ các phiên. Trên thực tế, nhiều gói TCP thuộc cùng một phiên TCP không nhất thiết phải đi qua cùng một bộ định tuyến - đó là để TCP quản lý. Các bộ định tuyến chỉ cần chọn đường dẫn IP tốt nhất và chuyển tiếp các gói tin. Duy trì hoạt động chỉ dành cho máy khách, máy chủ và bất kỳ thiết bị nhận biết phiên trung gian nào khác.
cái nào chỉ dành cho phiên của tôi?
Có nghĩa là không ai khác có thể sử dụng kết nối đó
Đó là mục đích của kết nối TCP : nó là kết nối end-to-end chỉ dành cho hai bên đó.
Nếu vậy - điều đó có nghĩa là giữ tiêu đề tồn tại - giảm số lượng người dùng kết nối chồng chéo?
Xác định "kết nối chồng chéo". Xem kết nối liên tục HTTP để biết một số ưu điểm và nhược điểm, chẳng hạn như:
- Sử dụng CPU và bộ nhớ thấp hơn (vì ít kết nối được mở đồng thời hơn).
- Cho phép kết nối HTTP các yêu cầu và phản hồi.
- Giảm tắc nghẽn mạng (ít kết nối TCP hơn).
- Giảm độ trễ trong các yêu cầu tiếp theo (không bắt tay).
nếu vậy, kết nối được lưu cho tôi trong bao lâu? (nói cách khác, nếu tôi thiết lập tiếp tục sống - "giữ" cho đến khi nào?)
Một phản ứng duy trì thông thường trông giống như sau:
Keep-Alive: timeout=15, max=100
Xem ví dụ: Xem tiêu đề Keep-Alive Giao thức truyền siêu văn bản (HTTP) (bản nháp cho HTTP / 2 trong đó tiêu đề giữ nguyên được giải thích chi tiết hơn cả 2616 và 2086 ):
Máy chủ đặt giá trị của timeout
tham số thành thời gian mà máy chủ lưu trữ sẽ cho phép kết nối không hoạt động vẫn mở trước khi nó bị đóng. Kết nối không hoạt động nếu máy chủ lưu trữ không gửi hoặc nhận dữ liệu nào.
Các max
tham số chỉ ra số lượng tối đa các yêu cầu mà một khách hàng sẽ thực hiện, hoặc một máy chủ sẽ cho phép được thực hiện trên các kết nối liên tục. Sau khi số lượng yêu cầu và phản hồi được chỉ định đã được gửi đi, máy chủ chứa tham số có thể đóng kết nối.
Tuy nhiên, máy chủ có thể tự do đóng kết nối sau một khoảng thời gian hoặc số lượng yêu cầu tùy ý (miễn là nó trả về phản hồi cho yêu cầu hiện tại). Cách thực hiện điều này phụ thuộc vào máy chủ HTTP của bạn.