Uploaded by trannhohao2k

Nhom10.N5-đã-chuyển-đổi

advertisement
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Khoa viễn thông 1
*****
BÀI TIỂU LUẬN CUỐI HỌC KỲ
Môn học: Internet và giao thức
Giảng viên: Phạm Anh Thư
Nhóm thực hiện: Nhóm 10
Hà Nội, ngày 25 tháng 12 năm 2021
Internet và Giao thức
Nhóm thực hiện: 10
Mục Lục
Giới thiệu nhóm 10...................................................................................................................................... 3
Danh mục hình ............................................................................................................................................ 3
Danh mục tài liệu tham khảo ..................................................................................................................... 3
Lời mở đầu................................................................................................................................................... 4
Phần I: Lý Thuyết ....................................................................................................................................... 5
Chương I: Tổng quan về cookie............................................................................................................. 5
1.1. Cookie là gì? ................................................................................................................................. 5
1.2. Các loại cookie. ............................................................................................................................. 6
1.3 Ưu nhược điểm của cookie. .......................................................................................................... 8
Chương II: Nguyên lý hoạt động của cookie ........................................................................................ 9
Chương III: Cookie trên nền ứng dụng web ...................................................................................... 11
3.1 Ý nghĩa của cookie trên nền web ............................................................................................... 12
3.2, Ví dụ : .......................................................................................................................................... 12
3.3 Các vấn đề với cookie.................................................................................................................. 13
3.4 Ứng dụng cookie phổ biến .......................................................................................................... 14
a, Quản lý phiên .................................................................................................................................. 14
b, Cá nhân hóa .................................................................................................................................... 15
Phần II. Bài tập ......................................................................................................................................... 17
Kết luận ...................................................................................................................................................... 22
2
Internet và Giao thức
Nhóm thực hiện: 10
Giới thiệu nhóm 10
Họ và tên
Mã sinh viên
Nguyễn Minh Tú
B18DCVT369
Trần Nho Hào
B18DCVT129
Nguyễn Sỹ Dũng
B18DCVT065
Vũ Quang Chung
B18DCVT052
Danh mục hình
Hình 1: Ví dụ về một file cookie trên ứng dụng. .................................. ............................ 4
Hình 2: Hoạt động của cookie.............................................................. ............................ 8
Danh mục tài liệu tham khảo
1. Bài giảng môn internet và giao thức
2. HTTP cookie - https://en.wikipedia.org/wiki/HTTP_cookie
3
Internet và Giao thức
Nhóm thực hiện: 10
Lời mở đầu
Sự phát triển của internet ngày càng nhanh chóng và ngày một thông minh hơn. Kéo
theo đó là vô vàn những thách thức và những nhu cầu ngày càng tăng cao của người dùng.
Với sự tiện dụng của internet việc lướt web, đọc báo, đọc sách hay mua sắm online ngày
càng phát triển.
Để đảm bảo cho quá trình kết nối được thông suốt, các máy chủ và người dùng sẽ
sử dụng một giao thức để chuyển siêu văn bản để giao tiếp với nhau, giao thức phổ biến
nhất hiện nay là http, https,… Trong quá trình hoạt động các máy chủ http sẽ không lưu
trạng thái nhằm tối ưu hóa hiệu năng cho các máy chủ web. Tuy nhiên, việc này gây cản
trở rất lớn cho các trang web như mua sắm online hoặc các sàn thương mại điện tử,... do
các trang này cần lưu các thông tin của người dùng như ID, thông tin sản phẩm,… Chính
vì nhu cầu đó http đã sử dụng cookie để cho phép các trang thương mại bám vết và lưu trữ
thông tin ucar người dùng.
Trong bài tiểu luận này chúng em xin trình bày một số thông tin về cookie trong
Phần I với những nội dung như sau:
Chương I: Tổng quan về cookie. Chương sẽ giới thiệu những lý thuyết cơ
bản như khái niệm, các loại cookie và ứng dụng của chúng.
Chương II: Hoạt động của cookie. Nội dung chương sẽ xoay quanh về cách
hoạt động của cookie khi người dùng truy nhập vào một trang web, cách hoạt động của các
lệnh set-cookie, cookie.
Chương III: Cookie trên nền ứng dụng web. Những vấn đề về cookie như vai
trò, ý nghĩa và ứng dụng của cookie sẽ được làm rõ trong chương này.
Trong Phần II nhóm chúng em xin được trình bày bài tập đã được giao trong đề tài
tiểu luận.
Do thời gian thực hiện có hạn, chúng em rất mong nhận được sự giúp đỡ cùng những ý
kiến đóng góp quý báu của cô và các bạn trong lớp để nhóm em có thể tiếp tục hoàn thiện
bài tiểu luận này!
4
Internet và Giao thức
Nhóm thực hiện: 10
Phần I: Lý Thuyết
Chương I: Tổng quan về cookie
1.1. Cookie là gì?
Trong quá trình hoạt động, máy chủ HTTP sẽ không lưu lại trạng thái nhằm
tối ưu hóa hiệu năng cho các máy chủ Web. Tuy nhiên nhiện nay, các trang thương mại
điện tử hay các sàn giao dịch mua bán online thường cần lưu lại, thu thập các thông tin của
người dùng như ID, các thói quen click và xem các sản phẩm có trên web. Chính vì những
nhu cầu trên HTTP cần sử dụng cookie.
Cookie (HTTP cookie) là các khối nhỏ của dữ liệu được tạo ra bởi một máy
chủ web trong khi một người dùng đang truy cập một trang web và đặt trên máy tính của
người dùng hoặc thiết bị khác bằng cách của người sử dụng trình duyệt web. Cookie được
đặt trên thiết bị được sử dụng để truy cập một trang web và nhiều cookie có thể được đặt
trên thiết bị của người dùng trong một phiên.[2]
Hay một cách đơn giản hơn, cookie là một file tạm được tự động tạo ra trong máy
tính, mỗi khi người dùng truy cập một trang web nào đó, nó sẽ lưu những thông tin liên
quan đến cá nhân như tài khoản đăng nhập để sử dụng cho lần sau. Người sử dụng trình
duyệt có thể xem và quản lý được cookie trên trình duyệt đang sử dụng. Ví dụ như:
Hình 1. Ví dụ về một file cookie trên ứng dụng.
5
Internet và Giao thức
Nhóm thực hiện: 10
1.2. Các loại cookie.
a, Cookie phiên.
Một cookie phiên (còn được gọi là cookie trong bộ nhớ, cookie sẽ thoáng
qua hoặc cookie sẽ không liên tục) chỉ tồn tại trong bộ nhớ tạm thời trong khi người dùng
điều hướng một trang web. Cookie phiên sẽ hết hạn hoặc bị xóa khi người dùng đóng trình
duyệt web. Cookie phiên được trình duyệt xác định khi không có ngày hết hạn được chỉ
định cho chúng.[2]
Trong trường hợp khi người dùng mở trình duyệt và truy nhập vào một trang
web, nếu trang web này yêu cầu đăng nhập thì thông tin tài khoản sẽ được lưu dưới dạng
cookie phiên. Mục đích của việc này là để khi người dùng thoát ra khỏi trang web, đăng
xuất khỏi tài khoản hoặc đóng trình duyệt thông tin đăng nhập sẽ được xóa bỏ để tránh
người lạ có thể đăng nhập vào.
Tuy nhiên với mỗi lần đăng nhập trình duyệt sẽ phải tải lại thông tin đăng
nhập cho người dùng, việc này sẽ mất thêm thời gian chờ đợi gay ra trải nghiệm không tốt
với người dùng. Thông thường, khi người dùng đăng nhập vào một trang web, trình duyệt
sẽ đưa ra câu hỏi “bạn có muốn lưu thông tin đăng nhập?” lúc này trình duyệt sẽ nhận diện
cookie phiên thành cookie liên tục.
Với tính tạm thời của mình, cookie phiên sẽ thường được ứng dụng vào tính
năng “giỏ hàng” trên các trang thương mại điện tử hoặc mua sắm trực tuyến. Mỗi lần khi
người dùng thêm một sản phẩm vào “giỏ hàng” cookie phiên sẽ lưu lại những thông tin về
sản phẩm vừa được thêm. Qua đó sẽ nâng cao trải nhiệm của người dùng về sự tiện lợi,
mang lại cảm giác giống như đang đi mua sắm ngoài đời thực. Người dùng có tham khảo
thông tin của từng sản phẩm và đưa ra quyết định, điều này có vai trò rất quan trọng với
các nhà bán hàng.
b, Cookie liên tục.
Cookie liên tục là cookie hết hạn vào một ngày cụ thể hoặc sau một thời gian
cụ thể [2]. Cookie này sẽ ghi lại tất cả các hoạt động của người dùng và thông tin của nó
sẽ được gửi về trang web mà nó thuộc về. Cookie liên tục vẫn sẽ tồn tại ngay cả khi người
dùng đóng trình duyệt hoặc thoát khỏi trang web.
Các cookie liên tục thường được lưu lại trên máy tính, nên các hoạt động của
người dùng với các trang web đều sẽ bị nó ghi lại và gửi về cho máy chủ. Điều này có thể
giúp cả thiện tốc độ duyệt web nhưng nó lại theo dõi các hoạt động của người dùng.
Với lượng thông tin chi tiết về người dùng rất lớn, các cookie liên tục thường
được sử dụng với mục đích thương mại như quảng cáo,… Nhờ có cookie liên tục, các nhà
bán hàng có thể giới thiệu và tiếp cận được với người dùng đang có nhu cầu cao nhất. Vì
6
Internet và Giao thức
Nhóm thực hiện: 10
vậy vai trò của cookie liên tục với các trang thương mại là rất lớn, cookie liên tục phổ biến
nhất là cookie Google Analytics.
c, Cookie an toàn.
Là các gói dữ liệu nhỏ được lưu trên chính trình duyệt của người dùng,
một cookie sẽ an toàn chỉ có thể được truyền qua một kết nối được mã hóa (https) [2]. Dữ
liệu này có thể chứa dữ liệu như mật khẩu hoặc thông tin người dùng vì lí do đó các cookie
an toàn dễ thành mục tiêu bị tấn công của kẻ xấu.
Cookie an toàn sẽ đảm bảo dữ liệu bên trong không bị truy nhập và lấy cắp
thông qua các trang web (XSS). Cross-site scripting (XSS) là một loại lỗ hổng bảo mật có
thể được tìm thấy trong một số ứng dụng web [2]. Kẻ xấu có thể thông qua đó lấy cắp dữ
liệu từ máy của người dùng bằng cách đưa truy nhập của người dùng đến một trang web
khác. Tuy nhiên, cookie an toàn khắc phục điều đó bằng cách chỉ sử dụng truyền dữ liệu
qua giao thức được mã hóa https, ngoài những giao thức đó dữ liệu sẽ không được truyền
đi. Điều này giảm thiểu nhiều thiệt hại mà nhiều cuộc tấn công XSS có thể gây ra, đặc biệt
là những cuộc tấn công nhắm tới mục tiêu là cookie.
d, Cookie của bên thứ ba.
Thông thường, thuộc tính miền của cookie sẽ khớp với miền được hiển thị
trong thanh địa chỉ của trình duyệt web. Đây được gọi là cookie của bên thứ
nhất . Một cookie của bên thứ ba , tuy nhiên, nó thuộc về một tên miền khác tên miền hiển
thị trong thanh địa chỉ. Hay đẽ hiểu hơn, nó là một thành phần của trang web người dùng
đang truy nhập, tuy nhiên nó thuộc về một trang web khác có tên miền khác với trang web
đó.
Cookie của bên thứ ba thường được sử dụng khi một trang web giới thiệu về
một trang web khác. Điển hình nhất là khi người dùng nhấn vào một quảng cáo trên trang
web và sẽ được chuyển đến trang đích của quảng cáo đó. Điều này giúp các nhà quảng cáo
có thể biết được thói quen duyệt web của người dùng và sử dụng cho những mục đích
thương mại.
Tuy nhiên, các nhà phát triển trình duyệt, app,.. đã đưa ra những phương thức
để chặn cookie từ bên thứ ba điển hình như chế độ truy cập ẩn danh. Khi truy nhập web
bằng chế độ ẩn danh, người dùng có thể tùy chọn chặn cookie của bên thứ ba và duyệt web
như bình thường.
e, Siêu cookie (supercookie)
Thông thường, các cookie sẽ được tạo ra theo một tên miền cụ thể
(abcd.com), nhưng siêu cookie được sinh ra từ tên miền bậc cao (.com,..) hoặc từ các đuôi
mở rộng (.uk,..). Các siêu cookies thường bị trình duyệt chặn do không đảm bảo an toàn
7
Internet và Giao thức
Nhóm thực hiện: 10
về bảo mật. Trong trường hợp không được ngăn chặn, kẻ xấu có thể lợi dụng chúng để mạo
danh người dùng và truy nhập vào các trang web độc hại
1.3 Ưu nhược điểm của cookie.
a, Ưu điểm.
Với khả năng lưu trữ thông tin của người dùng cookie giúp người dùng truy
cập trang mạng nhanh hơn và tiện lợi hơn rất nhiều. Điểm đặc biệt là không mất quá nhiều
thời gian để truy cập lại nhiều lần.
Trong thương mại, các doanh nghiệp sử dụng Cookie để theo dõi hành vi
người dùng. Để lấy được dữ liệu thông tin: lượt truy cập ít hay nhiều, thời gian truy cập,
thông tin khách hàng yêu thích và tìm kiếm,… Từ đó phân tích hành vi khách hàng để tối
ưu website, sản phẩm, dịch vụ của mình.
Hỗ trợ người dùng trong việc truy cập và nhập dữ liệu trên web với các thông
tin đã được lưu trữ. Ví dụ người dùng có thể đăng nhập vào một tài khoản trên web một
cách nhanh tróng hơn,…
b, Nhược điểm
Vì Cookie là một file dùng để lưu trữ các thông tin, hoạt động sử dụng của
người dùng mang tính cá nhân vì vậy sẽ là mục tiêu để kẻ xấu nhắm tới, tìm cách đột
nhập hệ thống website, máy tính cá nhân để lấy cắp thông tin và sử dụng cho các mục
đích xấu mà bạn không thể lường trước được.
8
Internet và Giao thức
Nhóm thực hiện: 10
Chương II: Nguyên lý hoạt động của cookie
Hình 2: Hoạt động của cookie
Máy chủ HTTP không lưu trạng thái. Điều này làm đơn giản hóa thiết kế và
cho phép các kỹ sư phát triển các máy chủ Web hiệu năng cao có thể xử lý đồng thời hàng
nghìn kết nối TCP. Tuy nhiên, thường chúng ta mong muốn trang Web nhận dạng được
người sử dụng, hoặc bởi vì máy chủ muốn giới hạn truy nhập của người sử dụng, hoặc bởi
vì nó muốn dùng nội dung như một hàm nhận dạng người sử dụng. Với những mục đích
này, HTTP sử dụng cookie. Các cookie được định nghĩa trong RFC 2965, nó cho phép các
điểm truy nhập bám vết người sử dụng. Hầu hết các trang Web thương mại ngày nay đều
sử dụng cookie.
Trên Hình 2 công nghệ cookie có bốn thành phần:
1) Dòng tiêu đề cookie trong bản tin đáp ứng HTTP;
2) dòng tiêu đề cookie trong bản tin yêu cầu HTTP;
3) tệp cookie giữ trên hệ thống đầu cuối của người sử dụng và được trình
duyệt người sử dụng quản lý;
4) cơ sở dữ liệu đầu cuối (back-end) tại trang Web. Xem Hình 2 để thấy hoạt
động của cookie. Giả sử Susan, người luôn truy cập Web bằng Internet Explorer từ máy
9
Internet và Giao thức
Nhóm thực hiện: 10
tính ở nhà, kết nối lần đầu tới Amazon.com. Giả sử là trước đây cô ấy đã từng vào trang
eBay. Khi yêu cầu tới máy chủ Web Amazon thì máy chủ tạo ra một số nhận dạng duy
nhất và tạo ra một mục ở cơ sở dữ liệu đầu cuối sắp xếp theo số nhận dạng. Sau đó máy
chủ Web Amazon sẽ đáp ứng tới trình duyệt của Susan, bao gồm tiêu đề Set-cookie: của
đáp ứng HTTP, trong đó chứa số nhận dạng. Ví dụ: dòng tiêu đề có thể là:
Set-cookie: 1678 Khi trình duyệt của Susan nhận được bản tin đáp ứng
HTTP này, nó nhìn vào tiêu đề Set-cookie. Trình duyệt sẽ thêm một dòng tới tệp cookie
đặc biệt mà nó quản lý. Dòng này gồm tên máy chủ và số nhận dạng trong tiêu đề Setcookie. Chú ý là tệp cookie đã có sẵn một mục cho eBay, vì Susan đã vào trang đó trước
đây. Khi Susan tiếp tục duyệt trang Amazon, mỗi lần cô ấy yêu cầu một trang Web thì trình
duyệt sẽ tham khảo tệp cookie của cô ấy, trích lấy số nhận dạng cho trang này và đưa dòng
tiêu đề cookie có chứa số nhận dạng vào yêu cầu HTTP. Đặc biệt, mỗi yêu cầu HTTP của
cô ấy tới máy chủ Amazon sẽ có dòng tiêu đề:
Cookie: 1678 Theo cách này, máy chủ Amazon có thể bám vết hành động
của Susan ở trang Amazon. Mặc dù trang Web Amazon không cần biết tên của Susan, song
nó biết chính xác các trang mà người sử dụng 1678 đã ghé thăm và theo thứ tự nào, vào
thời điểm nào. Amazon dùng cookie để cung cấp dịch vụ giỏ bán hàng (shopping cart) –
Amazon có thể duy trì một danh sách những món hàng mà Susan quan tâm, và vì thế cô ấy
có thể trả tiền mua chúng ở cuối phiên.
Nếu Susan trở lại trang Amazon thì một tuần sau trình duyệt của cô sẽ tiếp
tục đưa dòng tiêu đề Cookie: 1678 ở các bản tin yêu cầu. Amazon cũng khuyến nghị các
sản phẩm với Susan dựa trên các trang Web mà cô ta đã ghé thăm ở Amazon trước đây.
Nếu Susan cũng tự mình đăng ký với Amazon – cung cấp đầy đủ tên, địa chỉ email, địa chỉ
bưu chính và thông tin thẻ tín dụng thì Amazon có thể có những thông tin này trong cơ sở
dữ liệu của mình, và vì thế nó chứa cả tên của Susan với số nhận dạng của cô ấy (và tất cả
các trang mà cô ấy đã vào trước đây). Đấy là cách mà Amazon và các trang thương mại
điện tử khác cung cấp dịch vụ “one-click shopping” (mua bán chỉ qua một cú nhấp chuột)
– khi Susan chọn mua bán một vật trong khi ghé thăm, cô không phải gõ lại tên, số thẻ tín
dụng hay địa chỉ của mình. Từ đây ta thấy là cookie dùng để nhận dạng người sử dụng.
Khi người sử dụng lần đầu vào một trang thì người sử dụng có thể cung cấp nhận dạng
người sử dụng (có thể là tên). Trong những phiên sau đó, trình duyệt sẽ chuyển tiêu đề
cookie tới máy chủ, do đó nhận dạng người sử dụng với máy chủ. Do vậy Cookie có thể
được dùng để tạo lớp phiên người sử dụng trên đầu của HTTP phi trạng thái.
Ví dụ, khi người sử dụng truy cập (login) vào một ứng dụng thư điện tử trên
Web (ví dụ Hotmail), trình duyệt sẽ gửi thông tin cookie tới máy chủ, cho phép máy chủ
nhận dạng người sử dụng trong suốt phiên của người sử dụng với ứng dụng đó.
10
Internet và Giao thức
Nhóm thực hiện: 10
Mặc dù cookie thường làm đơn giản kỹ năng mua sắm trên Internet cho người
sử dụng, song chúng gây tranh cãi bởi vì chúng có thể xâm phạm tính riêng tư. Như chúng
ta vừa thấy, sử dụng kết hợp các cookie và thông tin tài khoản do người sử dụng cung cấp
thì một trang Web có thể biết được rất nhiều về thói quen người sử dụng và có thể bán
thông tin này cho bên thứ ba.
11
Internet và Giao thức
Nhóm thực hiện: 10
Chương III: Cookie trên nền ứng dụng web
3.1 Ý nghĩa của cookie trên nền web
Cookie được tạo ra vì chúng giải quyết một vấn đề lớn cho người thực thi
website. Trong thực tế, một cookie cho phép một site có thể lưu các thông tin về trạng
tháitrên máy tính. Thông tin này cho phép một website có thể nhớ trạng thái của trình duyệt.
ID là một phần thông tin trạng thái – nếu một ID tồn tại trên máy tính, site biết rằng máy
tính đã truy cập vào nó trước đó.
Các website sử dụng cookie theo nhiều cách khác nhau. Đây là một số trường
hợp được sử dụng nhiều:
Site có thể xác định một cách chính xác số lượng người truy cập site. Chỉ có
một cách để site có thể đếm chính xác số lượng user truy cập là thiết lập một cookie với
một ID duy nhất cho mỗi user. Sử dụng cookie, các site có thể xác định:
• Có bao nhiêu user truy cập đến
• Có bao nhiêu user truy cập mới và khách truy cập lặp lại.
• Tần suất một user truy cập vào trang.
Cách một website có thể thực hiện điều này là bằng sử dụng cơ sở dữ liệu.
Lần đầu khi một user truy cập đến, site sẽ tạo một ID mới trong cơ sở dữ liệu và gửi ID
dưới dạng một cookie. Lần sau khi người dùng này truy cập trở lại, site có thể tăng số đếm
có liên quan với ID trong cơ sở dữ liệu và biết số lần user đó truy cập vào trang.
Site có thể lưu các sở thích người dùng để thể tạo sự khác biệt giữa các user
truy cập (có thể nói website cho phép khả năng tùy chỉnh):
3.2, Ví dụ:
Người dùng truy cập msn.com, nó sẽ cung cấp khả năng thay đổi nội dung,
giao diện và màu sắc. Nó cũng cho phép người dùng nhập vào zip code và có thể nhận
được các thông tin về dự báo thời tiết theo khu vực. Khi nhập vào zip code, gặp giá trị
name-value sau sẽ được thêm vào file cookie của MSN.
12
Internet và Giao thức
Nhóm thực hiện: 10
MSN : MSN (viết tắt từ tên tiếng Anh Microsoft Service Network ) là
một tập hợp các dịch vụ Internet cung cấp bởi Microsoft
Các site thương mại điện tử có thể thực hiện các nhiệm vụ khác như các tùy
chọn giỏ hàng và thanh toán. Cookie sẽ gồm một ID và cho phép site giữ liên hệ với người
dùng khi họ cần thêm những thứ khác vào giỏ hàng của mình. Mỗi một thứ mà người dùng
thêm vào giỏ hàng được lưu lại trong cơ sở dữ liệu của site cùng với giá trị ID của họ . Khi
người dùng thanh toán, site biết những gì có trong giỏ hàng của họ bằng cách lấy về tất cả
các thông tin cần thiết từ cơ sở dữ liệu. cho nên cookie rất thuận lợi khi ứng dụng vào site
thương mại điện tử để thuận lợi cho người sử dụng khi họ mua hàng và thanh toán.
3.3 Các vấn đề với cookie
Cookie không phải một cơ chế hoàn hảo, tuy nhiên chúng cho phép thực hiện
một số thứ mà không có chúng sẽ không thể thực hiện. Đây là một vài thứ làm cho cookie
không hoàn hảo:
a, Người dùng thường xuyên chia sẻ máy tính:
Bất cứ máy tính nào được sử dụng ở nơi công cộng và các máy tính được sử
dụng trong môi trường văn phòng hoặc ở nhà, được chia sẻ bởi nhiều người dùng. Đây là
ví dụ điển hình là người dùng cá nhân sử dụng một máy tính chung (ví dụ trong thư viện)
để mua một thứ gì đó trên mạng. Trang web mà người đó mua sẽ để lại một cookie trên
máy tính đó và người dùng máy tính sau đó sẽ có thể mua thứ gì đó từ trang mà người đầu
tiên đã sử dụng tài khoản của mình để mua sắm. Các trang mua sắm thường cảnh báo về
vấn đề này và đó là lý do tại sao là một nhược điểm của cookie
b, Cookie bị xóa:
Nếu người dùng gặp vấn đề với trình duyệt của mình và gọi hỗ trợ kỹ thuật,
chắc chắn thứ đầu tiên mà hỗ trợ kỹ thuật sẽ yêu cầu cần thực hiện là xóa tất cả các file
Internet tạm thời trên máy tính của mình. Khi thực hiện điều này, người dùng sẽ mất tất cả
các file cookie. Lúc này, khi truy cập lại site, site đó sẽ nghĩ họ là một người dùng mới và
sẽ gán cho họ một cookie mới. Điều này làm sai bản ghi của site về số lượng khách truy
cập mới và khách truy cập quay trở lại, và nó cũng làm khó cho người dùng trong việc khôi
phục các sở thích đã được lưu trước đó. Đây là lý do tại sao site yêu cầu người dùng đăng
ký trong một số trường hợp.
13
Internet và Giao thức
Nhóm thực hiện: 10
Nếu người dùng đăng ký với một user name và password, họ có thể đăng
nhập, thậm chí nếu mất file cookie của mình họ vẫn có thể khôi phục lại được các sở thích.
Nếu các giá trị của sở thích được lưu trực tiếp trên máy tính (như ví dụ xem dự báo thời
tiết trên MSN ở trên), thì việc khôi phục là không thể. Điều này lý giải tại sao nhiều site
lưu tất cả thông tin người dùng trong một cơ sở dữ liệu và chỉ lưu giá trị ID trên máy tính
của người dùng.
c, Đa máy tính :
Nhiều người dùng thường sử dụng nhiều máy tính trong một ngày. Ví dụ có
một máy ở văn phòng, một máy ở nhà và một laptop để giải trí . Trừ khi site được thiết kế
để khắc phục vấn đề này, bằng không họ sẽ có ba file cookie trên ba máy tính này. Bất kỳ
site nào mà họ truy cập từ cả ba máy tính này sẽ nhận diện họ là ba người dùng hoàn toàn
khác biệt. Đây có thể là một vấn đề trong việc thiết lập các sở thích. Lúc này một site nào
cho phép đăng ký và lưu các sở thích sẽ cho phép sử dụng cùng một tài khoản trên cả ba
máy, tuy nhiên các chuyên gia phát triển site phải lập kế hoạch cho vấn đề này từ khi thiết
kế.
Khi người dùng đăng ký với một hệ thống đăng ký của website, vấn đề sẽ
được giải quyết theo cách dưới đây:
Site sẽ nhớ giá trị cookie của người dùng và lưu nó với các thông tin đăng ký
. Nếu họ bỏ chút thời gian để đăng nhập từ bất kỳ máy tính nào (hoặc một máy tính có bị
mất file cookie), thì máy chủ sẽ thay đổi file cookie trên máy tính đó để có chứa ID có liên
quan với các thông tin đăng ký. Chính vì vậy có thể có nhiều máy tính cùng với một giá trị
ID.
3.4 Ứng dụng cookie phổ biến
a, Quản lý phiên
Cookie ban đầu được giới thiệu để cung cấp một cách để người dùng ghi lại các mặt hàng
họ muốn mua khi họ điều hướng trên toàn bộ trang web ("giỏ hàng" hoặc "giỏ hàng
ảo"). Tuy nhiên, ngày nay, nội dung trong giỏ hàng của người dùng thường được lưu trữ
trong cơ sở dữ liệu trên máy chủ, thay vì trong cookie trên máy khách. Để theo dõi người
dùng nào được chỉ định cho giỏ hàng nào, máy chủ sẽ gửi một cookie đến máy khách có
chứa một mã định danh phiên duy nhất (thường là một chuỗi dài gồm các chữ cái và số
14
Internet và Giao thức
Nhóm thực hiện: 10
ngẫu nhiên). Bởi vì cookie được gửi đến máy chủ với mọi yêu cầu của khách hàng, mã
định danh phiên đó sẽ được gửi trở lại máy chủ mỗi khi người dùng truy cập một trang mới
trên trang web, điều này cho phép máy chủ biết sẽ hiển thị giỏ hàng nào cho người dùng.
Một cách sử dụng phổ biến khác của cookie là để đăng nhập vào các trang web. Khi
người dùng truy cập trang đăng nhập của một trang web, máy chủ web thường gửi cho
khách hàng một cookie chứa một mã định danh phiên duy nhất. Khi người dùng đăng nhập
thành công, máy chủ sẽ nhớ rằng số nhận dạng phiên cụ thể đó đã được xác thực và cấp
cho người dùng quyền truy cập vào các dịch vụ của nó.
Bởi vì cookie phiên chỉ chứa một mã định danh phiên duy nhất, điều này làm cho số
lượng thông tin cá nhân mà trang web có thể lưu về mỗi người dùng hầu như vô hạn - trang
web không bị giới hạn bởi các giới hạn liên quan đến kích thước cookie có thể có. Cookie
phiên cũng giúp cải thiện thời gian tải trang, vì lượng thông tin trong cookie phiên nhỏ và
yêu cầu ít băng thông.
b, Cá nhân hóa
Cookie có thể được sử dụng để ghi nhớ thông tin về người dùng nhằm hiển
thị nội dung có liên quan cho người dùng đó theo thời gian. Ví dụ: một máy chủ web có
thể gửi một cookie chứa tên người dùng được sử dụng lần cuối để đăng nhập vào một trang
web, để nó có thể được tự động điền vào lần sau khi người dùng đăng nhập.
Nhiều trang web sử dụng cookie để cá nhân hóa dựa trên sở thích của người
dùng. Người dùng chọn tùy chọn của họ bằng cách nhập chúng vào biểu mẫu web và gửi
biểu mẫu đến máy chủ. Máy chủ mã hóa các tùy chọn trong cookie và gửi cookie trở lại
trình duyệt. Bằng cách này, mỗi khi người dùng truy cập một trang trên website, máy chủ
có thể cá nhân hóa trang đó theo sở thích của người dùng. Ví dụ: công cụ tìm kiếm
của Google đã từng sử dụng cookie để cho phép người dùng (ngay cả những người chưa
đăng ký) quyết định có bao nhiêu kết quả tìm kiếm trên mỗi trang mà họ muốn xem.
c, Theo dõi
Cookie theo dõi được sử dụng để theo dõi thói quen duyệt web của người
dùng. Điều này cũng có thể được thực hiện ở một mức độ nào đó bằng cách sử dụng địa
15
Internet và Giao thức
Nhóm thực hiện: 10
chỉ IP của máy tính yêu cầu trang hoặc trường giơi thiệu của tiêu đề yêu cầu HTTP, nhưng
cookie cho phép độ chính xác cao hơn. Điều này có thể được chứng minh như sau:
• Nếu người dùng yêu cầu một trang của trang web, nhưng yêu cầu không chứa
cookie, máy chủ sẽ giả định rằng đây là trang đầu tiên được người dùng truy cập. Vì
vậy, máy chủ tạo một mã định danh duy nhất (thường là một chuỗi các chữ cái và
số ngẫu nhiên) và gửi nó dưới dạng cookie trở lại trình duyệt cùng với trang được
yêu cầu.
• Kể từ thời điểm này, cookie sẽ tự động được trình duyệt gửi đến máy chủ
mỗi khi một trang mới từ trang web được yêu cầu. Máy chủ không chỉ gửi trang như
bình thường mà còn lưu trữ URL của trang được yêu cầu, ngày / giờ của yêu cầu và
cookie trong tệp nhật ký.
Bằng cách phân tích tệp nhật ký này, sau đó có thể tìm ra người dùng đã truy
cập những trang nào, theo trình tự nào và trong bao lâu.
d, Cookies chia sẻ Xã hội
Chia sẻ xã hội được cung cấp trên trang Web được các bên thứ ba vận hành.
Các bên thứ ba này có thể thả cookies trên máy tính của người dùng khi sử dụng các hạng
mục chia sẻ xã hội trên trang Web,hoặc nếu đã đăng nhập vào chúng. Những cookies này
giúp cải thiện trải nghiệm của bạn trên trang Web. Chúng cho phép bạn chia sẻ các nhận
xét/đánh giá/trang/đánh dấu trang và giúp cung cấp truy cập đến các mạng xã hội và công
cụ trực tuyến xã hội một cách dễ dàng hơn.
e, Cookies nhanh
Cookies nhanh có thể lưu giữ điểm yêu thích của người dùng chẳng hạn như
kiểm soát âm lượng, hoặc điểm chơi trò chơi cao, hoặc nội dung hiển thị dựa trên những
gì người dùng xem trên trang Web để cá thể hóa việc truy cập.
16
Internet và Giao thức
Nhóm thực hiện: 10
Phần II. Bài tập
Bài tập về phân bố tệp (CS-P2P), chứng minh sự khác biệt của kiến trúc CS(ClientServer) và P2P(Peer-to-Peer).
So sánh ưu nhược điểm của kiến trúc khách/chủ (client/server) và kiến trúc ngang
hàng (P2P). Chứng minh ưu điểm về thời gian phân bố tệp của hai kiến trúc này
trong ứng dụng phân bố tệp với các thông số như sau:
Dung lượng file F
300MB
Số lượng máy tính cần tải dữ liệu N
20
𝑈𝑠 = 𝑑𝑚𝑖𝑛
100Mb/s
𝑈𝑖
2Mb/s
I, Chứng minh sự khác biệt của kiến trúc CS(Client-Server) và P2P(Peer-to-Peer).
• Định nghĩa CS(Client-Server)
Mô hình mạng Client-Server là mô hình mạng được sử dụng rộng rãi. Ở
đây, Server là một hệ thống mạnh mẽ lưu trữ dữ liệu hoặc thông tin trong đó. Mặt
khác, Máy khách là máy cho phép người dùng truy cập dữ liệu trên máy chủ từ xa.
17
Internet và Giao thức
Nhóm thực hiện: 10
Quản trị viên hệ thống quản lý dữ liệu trên máy chủ. Các máy khách và máy chủ
được kết nối thông qua mạng. Nó cho phép các máy khách truy cập dữ liệu ngay cả
khi máy khách và máy chủ cách xa nhau.
Trong mô hình Máy khách-Máy chủ, quy trình máy khách trên máy khách sẽ
gửi yêu cầu đến quy trình máy chủ trên máy chủ. Khi máy chủ nhận được yêu cầu
của máy khách, nó sẽ tìm kiếm dữ liệu được yêu cầu và gửi lại cùng với câu trả lời.
• Định nghĩa P2P(Peer-to-Peer)
Không giống như Máy khách-Máy chủ, mô hình ngang hàng không phân biệt giữa
máy khách và máy chủ thay vào đó mỗi nút có thể là máy khách hoặc máy chủ tùy
thuộc vào việc nút đó có yêu cầu hoặc cung cấp dịch vụ hay không. Mỗi nút được
coi là một đồng đẳng.
• Sự khác nhau
Client-Server
Căn bản
Peer – to Peer
Có một máy chủ cụ thể và các Khách hàng và máy chủ không được
máy khách cụ thể được kết nối
phân biệt; mỗi nút đóng vai trò là
với máy chủ.
máy khách và máy chủ.
Dịch vụ
Yêu cầu của khách hàng về
dịch vụ và máy chủ đáp ứng
với dịch vụ.
Mỗi nút có thể yêu cầu dịch vụ và
cũng có thể cung cấp dịch vụ.
Tiêu điểm
Chia sẻ thông tin.
Kết nối.
Dữ liệu
Dữ liệu được lưu trữ trong
một máy chủ tập trung.
Mỗi đồng đẳng có dữ liệu riêng của
mình.
18
Internet và Giao thức
Nhóm thực hiện: 10
Máy chủ
Khi một số khách hàng yêu
cầu dịch vụ đồng thời, một
máy chủ có thể bị tắc nghẽn.
Vì các dịch vụ được cung cấp bởi
một số máy chủ được phân phối
trong hệ thống ngang hàng, nên một
máy chủ không bị tắc nghẽn.
Chi phí
Các máy khách-máy chủ đắt
tiền để thực hiện.
Ngang ngang hàng ít tốn kém để
thực hiện.
Ổn định
Client-Server ổn định hơn và
có thể mở rộng.
Peer-toPeer bị ảnh hưởng nếu số
lượng đồng nghiệp tăng trong hệ
thống.
II. Ưu nhược điểm của client-server và P2P
1. CS(Client-Server)
• Ưu điểm.
- Điều khiển tập trung: mọi thông tin cần thiết đều ở một vị trí nên dễ dàng
cho việc quản lý, giám sát.
- Bảo mật: dữ liệu được bảo mật tốt do nó có kiến trúc tập
- Dễ dàng mở rộng
- Dễ dàng quản lý dữ liệu
- Dễ dàng truy cập
• Nhược điểm.
- Một server đơn lẻ không có khả năng đáp ứng kịp những yêu cầu từ các
máy khách của nó.
- Server có thể nhanh chóng bị sập nếu nó chỉ có một máy chủ xử lý tất cả
các yêu cầu.
- Một nhóm trạm lớn – đôi khi được gọi là trung tâm dữ liệu – được dùng để
tạo ra một máy chủ ảo mạnh trong kiến trúc khách/chủ.
- Cần nhiều cơ sở hạ tầng vì chúng yêu cầu nhà cung cấp dịch vụ phải mua,
cài đặt và bảo dưỡng cụm máy chủ.
19
Internet và Giao thức
Nhóm thực hiện: 10
2. P2P(Peer-to-Peer)
• Ưu điểm
- Khả năng tự mở rộng (self-scalability).
- Hiệu quả về chi phí vì thường không cần hạ tầng máy chủ và băng thông
máy chủ.
• Nhược điểm
- Vì có đặc tính mở và phân bổ rộng khắp nên các ứng dụng P2P sẽ có thách
thức về vấn đề an toàn.
- Thành công của các ứng dụng P2P còn phụ thuộc vào việc thuyết phục
được người sử dụng tình nguyện chia sẻ nguồn lực như băng thông, bộ nhớ
và khả năng tính toán cho các ứng dụng.
III. Bài tập
Đổi 300MB = 300 x 8 Mb = 2400Mb
• Với CS(Client-Server)
𝑑𝑐𝑠 = 𝑚𝑎𝑥 {
Trong đó:
𝑁𝐹
𝑈𝑠
𝑁𝐹
𝑈𝑠,
=
𝐹
min(𝑑𝑖
,
𝐹
min(𝑑𝑖 )
}
20 ×2400
=
)
100
2400
100
= 480 𝑀𝑏/𝑠
= 240 𝑀𝑏/𝑠
20
Internet và Giao thức
Nhóm thực hiện: 10
=> 𝑑𝑐𝑠 = 𝑚𝑎𝑥{480, 240} = 480 𝑀𝑏/𝑠
• Với P2P (peer-to-Peer)
𝐹
𝐹
𝑁𝐹
𝑑𝑝2𝑝 = max { ,
,
}
𝑈𝑠 min(𝑑𝑖 )𝑖 𝑈𝑠 + ∑ 𝑈𝑖
Trong đó:
𝐹
𝑈𝑠
=
2400
100
𝐹
min(𝑑𝑖 )𝑖
𝑁𝐹
𝑈𝑠 +∑ 𝑈𝑖
=
=
= 240 𝑀𝑏/𝑠
2400
100
= 240 𝑀𝑏/𝑠
20×2400
100+ 20×2
=> 𝑑𝑝2𝑝 = max {240, 240,
=
2400
7
21
2400
}=
7
2400
7
Internet và Giao thức
Nhóm thực hiện: 10
Kết luận
Sau một quá trình tìm hiểu, bài tiểu của chúng em đã được hoàn thành dưới
sự hợp tác tìm hiểu của tất cả các bạn trong nhóm. Bài tiểu luận đã trình bày những
lý thuyết tổng quan nhất về cookie, các vấn đề về cookie và ứng dụng của nó. Qua
đó thấy được tầm quan trọng và lợi ích của cookie với sự phát triển của internet. Với
những lý do như vậy, chúng em hy vọng bài tiểu luận này sẽ góp phần vào việc tìm
hiểu và nghiên cứu học tập của cả nhóm về sau. Do thời gian có hạn cùng với trình
độ còn hạn chế nên nhiều nội dung còn chưa được làm rõ, chúng em mong sẽ có
được sự góp ý của cô giáo để hoàn thiện hơn về kiến thức!
22
Download