Phân tích một phần gói tin HTTP request từ trình duyệt gửi lên Web server như sau: GET /docs/index.html HTTP/1.1\r\n Host: www-net.cs.umass.edu\r\n Ta biết được một số thông tin về trình duyệt là:
A. Trình duyệt dùng kết nối thường trực (persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu/index.html
B. Trình duyệt dùng kết nối không thường trực (non-persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu/docs/index.html
C. Trình duyệt dùng kết nối thường trực (persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu/docs/index.html
D. Trình duyệt dùng kết nối thường trực (persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu
Trả lời:
Đáp án đúng: C
Câu hỏi yêu cầu phân tích một gói tin HTTP request để rút ra thông tin về trình duyệt và URL yêu cầu. Dựa vào định dạng của gói tin HTTP:
`GET /docs/index.html HTTP/1.1\r\n`
`Host: www-net.cs.umass.edu\r\n`
Chúng ta có thể phân tích như sau:
1. **Phương thức yêu cầu**: `GET` cho thấy trình duyệt yêu cầu lấy dữ liệu.
2. **Đường dẫn URL**: `/docs/index.html` là phần đường dẫn của tài nguyên được yêu cầu trên máy chủ.
3. **Phiên bản HTTP**: `HTTP/1.1` cho thấy trình duyệt đang sử dụng giao thức HTTP phiên bản 1.1.
4. **Header `Host`**: `www-net.cs.umass.edu` chỉ định tên miền của máy chủ mà yêu cầu được gửi tới. Điều này rất quan trọng trong HTTP/1.1 để hỗ trợ nhiều tên miền trên cùng một địa chỉ IP.
**Kết nối thường trực (Persistent Connection) vs. Không thường trực (Non-persistent Connection)**: Trong HTTP/1.1, mặc định là sử dụng kết nối thường trực, trừ khi được chỉ định rõ ràng trong header `Connection` là `close`. Trong gói tin mẫu được cung cấp, không có header `Connection: close`, do đó, mặc định là kết nối thường trực.
**URL đầy đủ**: URL đầy đủ được cấu thành từ giao thức (trong trường hợp này không rõ ràng từ đoạn trích, nhưng thường là `http` hoặc `https`), tên máy chủ (từ header `Host`) và đường dẫn.
- Tên máy chủ: `www-net.cs.umass.edu`
- Đường dẫn: `/docs/index.html`
Như vậy, URL đầy đủ của trang web được yêu cầu là `http://www.net.cs.umass.edu/docs/index.html` (hoặc `https`). Tuy nhiên, trong các lựa chọn, URL được trình bày dưới dạng tên máy chủ kết hợp với đường dẫn.
Xét các phương án:
* **Phương án 1**: "Trình duyệt dùng kết nối thường trực (persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu/index.html". Thông tin về kết nối thường trực là đúng, nhưng URL không chính xác vì thiếu `/docs`.
* **Phương án 2**: "Trình duyệt dùng kết nối không thường trực (non-persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu/docs/index.html". Thông tin về kết nối không thường trực là sai.
* **Phương án 3**: "Trình duyệt dùng kết nối thường trực (persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu/docs/index.html". Thông tin về kết nối thường trực là đúng và URL (tên máy chủ + đường dẫn) là chính xác.
* **Phương án 4**: "Trình duyệt dùng kết nối thường trực (persistent) và URL đầy đủ của trang web được yêu cầu là: www-net.cs.umass.edu". Thông tin về kết nối thường trực là đúng, nhưng URL không chính xác vì chỉ có tên máy chủ mà thiếu đường dẫn.
Do đó, phương án 3 là đầy đủ và chính xác nhất dựa trên thông tin được cung cấp và kiến thức về giao thức HTTP/1.1.
This document is a final exam paper for the 'Introduction to Computer Networks' course from HK2 2018-2019. It contains multiple-choice questions covering fundamental networking concepts such as network devices, IP addressing, subnetting, routing protocols, TCP/IP functionalities, ARP, DHCP, HTTP, NAT, MAC addresses, IMAP, and port numbers.
40 câu hỏi 75 phút