Tương tác người dùng-máy chủ

Một phần của tài liệu Bài giảng mạng máy tính ths nguyễn xuân anh (Trang 49 - 50)

HTTP máy chủ không lưu giữ trạng thái, điều này đơn giản hoá kiến trúc và làm tăng hiệu suất hoạt động của máy chủ. Tuy nhiên các máy chủ muốn phân biệt người dùng không chỉ vì muốn hạn chế sự truy cập mà còn vì máy chủ muốn phục vụ theo định danh người dùng. HTTP có 2 cơ chế để máy chủ phân biệt người dùng: Authentication và cookies.

Authentication (Kiểm Chứng)

Nhiều máy chủ yêu cầu người dùng phải cung cấp tênvà mật khẩu để có thể truy cập vào tài nguyên trên máy chủ. Yêu cầu này được gọi là kiểm chứng. HTTP có các mã trạng thái và trường để thực hiện quá trình kiểm chứng. Giả sử máy khách yêu cầu một đối tượng từ máy chủ và máy chủ yêu cầu máy khách cung cấp tên và mật khẩu. Đầu tiên máy khách vẫn gửi một bản tin yêu cầu thông thường. Máy chủ sẽ trả lời với bản tin có phần thân rỗng và trường mã trạng thái là 401 Authentication required. Trong bản tin trả lời này có trường www-authenticate: xác định phương thức kiểm chứng mà người đùng phải thực hiện, thông thường là đưa tên và mật khẩu. Nhận được bản tin này, máy khách yêu cầu người dùng cung cấp tên và mật khẩu. Sau đó, máy khách sẽ gửi lại bản tin yêu cầu có trường Authoziration: trong tiêu đề, trường này chứa tên và mật khẩu của người dùng.

Sau khi nhận được đối tượng đầu tiên, máy khách tiếp tục gửi tên và mật khẩu trong các bản tin kế tiếp (thường thì cho đến khi người dùng đóng trình duyệt lại. Khi trình duyệt còn mở, tên và mật khẩu được lưu lại trong cache để người dùng không phải đánh lại nữa). Theo cách này máy chủ có thể phân biệt các người dùng. Trong chương 7 ta sẽ thấy rằng HTTP phân biệt người dùng khá lỏng lẻo và không khó để vượt qua.

Cookies:

Cookie là kỹ thuật khác được máy chủ sử dụng để ghi lại đấu vết của người truy cập. Nó được đặc tả trong RFC 2109. Ví dụ lần đầu tiên người dùng truy cập vào một máy chủ nào đó có sử dụng cookie. Bản tin trả lời của máy chủ có trường Set-cookies: trong tiêu đề cùng với một chuỗi ký tự do Máy chủ web tạo ra. Khi nhận được bản tin trả lời, máy khách xác định được trường Set- cookies và chuỗi ký tự đi kèm, Trình duyệt sẽ thêm một dòng vào cuối file cookie (và một file đặc biệt trên máy máy khách). Dòng này thường là dòng chứa tên máy chủ và chuỗi ký tự cookie. Giả sử một tuần sau, máy khách gửi thông điệp yêu cầu đến máy chủ, máy khách sẽ tự động chèn trường Cookies: trong tiêu đề của bản tin yêu cầu với giá trị là chuỗi giá trị cookie lưu trong file cookie. Máy chủ web sử dụng cookie cho nhiều mục đích:

- Nếu máy chủ yêu cầu kiểm chứng nhưng không muốn đòi hỏi người dùng đăng nhập qua tên và mật khẩu thì có thề sử dụng cookie cho mỗi lần người dùng truy cập vào máy chủ.

- Máy chủ sử dụng cookie nếu muốn ghi nhớ các hoạt động của người dùng, phục vụ mục đích quảng cáo.

- Nếu người sử dụng mua hàng trên mạng thì máy chủ sử dụng cookie để ghi lại những gì mà người sử dụng đã mua.

Sử dụng cookie gây khó khăn cho người dùng không có máy tính cố định mà truy cập vào máy chủ từ nhiều máy khác nhau. Máy chủ sẽ coi đó là những người dùng khác nhau.

Một phần của tài liệu Bài giảng mạng máy tính ths nguyễn xuân anh (Trang 49 - 50)