Có rất nhiều lớp để làm điều này. Và quan trọng, nhiều người trong số họ có thể thay thế cho nhau.
Ví dụ: bạn có thể có mạng cáp đồng trục, ethernet hoặc Wi-Fi ở mức vật lý. HTTP hoạt động trên tất cả những thứ đó, nhưng mỗi trong số chúng có cách xử lý tải trọng hơi khác nhau được gửi xung quanh.
HTTP hoạt động trên giao thức khác, được gọi là TCP, lần lượt chạy ít nhiều trên giao thức khác, được gọi là IP (ngày nay chủ yếu ở hai biến thể - IPv4 và IPv6).
Vì vậy, máy chủ HTTP đăng ký một địa chỉ IP (như 184.38.45.1
, hoặc thường xuyên nhất là "bất kỳ"), cùng với cổng TCP ( 80
là mặc định cho HTTP, nhưng nói chung là mọi thứ từ 1
đến 65535
), với hệ điều hành. Bây giờ, máy chủ HTTP yêu cầu HĐH ping nó khi có dữ liệu (hoặc thông báo khác). HĐH biết khi nào điều đó xảy ra, bởi vì trình điều khiển thẻ giao diện mạng cho nó biết điều đó. Và trình điều khiển NIC được nói bởi chính NIC, nơi thực sự có phần mềm riêng để giải thích các tín hiệu điện trên cáp mạng (hoặc tín hiệu không dây trong không khí, v.v., bạn hiểu ý).
Lưu ý bên :
Nếu bạn muốn biết thêm về cách mà NIC có thể bắt đầu giao tiếp với trình điều khiển / HĐH, bạn có thể muốn tra cứu một số thông tin cơ bản về các ngắt phần cứng - về cơ bản, bất cứ điều gì CPU hiện đang làm đều bị dừng và luồng chương trình chuyển sang gián đoạn thủ tục xử lý - một đoạn mã cực kỳ đơn giản, đảm nhiệm việc thông báo cho hệ thống, và sau đó ngay lập tức trả lại quyền điều khiển trở lại điều ban đầu mà CPU đang làm. Trên thực tế, nó có thể trả lời cho bạn rất nhiều câu hỏi về hoạt động bên trong của HĐH và chính máy tính - như cách một hệ điều hành có thể "đánh cắp" CPU khỏi các ứng dụng và xáo trộn tài nguyên CPU giữa các ứng dụng khác nhau chạy cùng một lúc, ngay cả khi họ không hợp tác.
Trở lại kinh doanh:
Trong tương tự điện thoại thủ công của bạn, hãy tưởng tượng rằng điện thoại của bạn không thực sự đổ chuông. Để biết bạn đang có một cuộc gọi điện thoại, bạn sẽ phải nhìn vào màn hình định kỳ và kiểm tra. Để làm cho việc quản lý này trở nên dễ dàng hơn đối với máy chủ HTTP (vì đã có khá nhiều lớp thực hiện kiểm tra định kỳ đó), bạn thực sự có thể chặn trên nỗ lực kiểm tra.
Vì vậy, thay vì kiểm tra, thấy không có gì ở đó và kiểm tra lại, về cơ bản bạn cứ nhìn vào màn hình mọi lúc. Tuy nhiên, về cơ bản, bạn đã có một hệ thống hoàn toàn riêng biệt để xử lý việc này (trong trường hợp của bạn, trung tâm trợ thính, kiểm tra các rung động không khí để biết thông tin hữu ích, vòng), vì vậy nó không thực sự cần sự chú ý của bạn (thời gian CPU).
Điều này được cải thiện hơn nữa bằng các kỹ thuật cho phép bạn giám sát nhiều kết nối cùng một lúc (IOCP). Điều này càng ngày càng gần với hệ thống chuông điện thoại - bạn có một căn phòng với mười nghìn điện thoại, nhưng bạn chỉ quan tâm đến những người đang đổ chuông vào lúc này, những người khác không chú ý đến bạn.