Đây là một phần của giao thức HTTP 1.1.
Cụ thể, giao thức HTTP 1.1 bao gồm một tiêu đề gọi là "máy chủ:" chỉ định trang web nào trên một máy chủ cụ thể mà máy khách đang cố truy cập.
Vì vậy, nếu snoopy.net và woodstock.org đều chia sẻ 192.0.32.10 và trình duyệt của bạn đang cố lấy nội dung từ http://snoopy.net/doghouse
yêu cầu http cụ thể sẽ như sau:
GET /doghouse HTTP/1.1
Host: snoopy.net
Nếu url mong muốn là http://woodstock.org/seeds
yêu cầu sẽ như thế nào
GET /seeds HTTP/1.1
Host: woodstock.org
Trong cả hai trường hợp, sẽ có một ổ cắm tcp giữa máy tính của bạn và cổng 80 của máy chủ. Máy chủ sẽ biết lấy nội dung từ /var/www/snoopy.net hoặc /var/www/woodstock.org/ dựa trên tiêu đề Máy chủ.
Sẽ có các tiêu đề khác cho cookie và các nội dung khác như loại trình duyệt và nội dung được phép, nhưng tiêu đề "Máy chủ" cụ thể là thứ cho phép máy chủ web biết trang web ảo nào mong muốn.
Có nhiều hơn trong RFC2616 .
Đây cũng là lý do tại sao các trang https * phải *** có địa chỉ IP của riêng họ - việc trao đổi khóa ssl và xác minh chứng chỉ diễn ra trước khi giao dịch http, vì vậy máy chủ http sẽ không biết cung cấp chứng chỉ cho "woodstock. org "hoặc" snoopy.net "khi nhận được kết nối https trên cổng 443 của 192.0.32.10.
chỉnh sửa
** trong các nhận xét Grawity chỉ ra rằng có các tiện ích mở rộng cho SSL trong thông số TLS cho phép máy chủ biết người dùng đang truy cập trang web nào và hầu hết các trình duyệt web hiện đại đều có các tiện ích mở rộng này, do đó cũng phải hơi quá mạnh.