mở đầu là một phiên bản Hot or Not của đại học Harvard với tên gọi Facemash. Mark Zuckerberg, khi đang học năm thứ hai tại Harvard, đã dựng nên Facemash vào ngày 28 tháng 10 năm 2003. Ngày 4 tháng 2 năm 2004, Zuckerman thành lập “The Facebook”, ban đầu đặt tại thefacebook. Việc đăng ký thành viên ban đầu giới hạn trong những sinh viên của đại học Harvard, và trong vòng một tháng đầu tiên, hơn một nửa số sinh viên tại Harvard đã đăng ký dịch vụ này.
Eduardo Saverin (lĩnh vực kinh doanh), Dustin Moskovitz (lập trình viên), Andrew McCollum (nghệ sĩ đồ họa), và Chris Hughes nhanh chóng tham gia cùng với Zuckerberg để giúp quảng bá website. Vào tháng 3 năm 2004, Facebook mở rộng sang Stanford, Columbia, và Yale. Việc mở rộng tiếp tục khi nó mở cửa cho tất cả các trƣờng thuộc Ivy League và khu vực Boston, rồi nhanh chóng đến hầu hết đại học ở Canada và Hoa Kỳ. Tháng 6 năm 2004, Facebook chuyển cơ sở điều hành đến Palo Alto, California.
Công ty đã bỏ chữ The ra khỏi tên sau khi mua đƣợc tên miền facebook. Tới tháng 9 năm 2005, Facebook ra mắt phiên bản trung, Zuckerberg gọi nó là một bƣớc logic tiếp theo. Vào thời gian đó, các mạng của trƣờng trung học bắt buộc phải đƣợc mời mới đƣợc gia nhập. Facebook sau đó mở rộng quyền đăng ký thành viên cho nhân viên của một vài công ty, trong đó có Apple Inc và Microsoft.
Tiếp đó vào ngày 26 tháng 9 năm 2006, Facebook mở cửa cho mọi ngƣời trên 13 tuổi với một địa chỉ email hợp lệ. Vào tháng 10 năm 2008, Facebook tuyên bố nó đã thiết lập một trụ sở quốc tế tại Dublin, Ireland. LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Cơ chế hoạt động của Facebook *) Mô hình ứng dụng web thông thường Hình 1.3: Mô hình web thông thường Ứng dụng và cơ sở dữ liệu đƣợc đặt trên một máy chủ Web.
Ứng dụng sẽ chạy trên server và ngƣời dùng thực thi ứng dụng bằng cách sử dụng giao thức HTTP thông qua trình duyệt. Mô hình này sẽ làm việc hiệu quả nếu nhƣ server và client có 1 kết nối Internet ổn định. *) Mô hình ứng dụng web Facebook Hình 1.4: Mô hình web Facebook Ngƣời dùng truy cập Facebook.com và ứng dụng thông qua trình duyệt Internet. Tuy nhiên ứng dụng không đƣợc đặt tại máy chủ của Facebook mà đƣợc lƣu trên máy chủ của chính ngƣời tạo ra ứng dụng đó.
Facebook Platform cũng cung cấp một giao diện cho ngƣời viết ứng dụng. Với một máy chủ web bình thƣờng trung bình chỉ chịu đƣợc từ 100 tới 500 truy vấn cùng một lúc. Tuy nhiên với Facebook trung bình mỗi giây phải hiện 600 nghìn hình ảnh cùng một lúc. Vấn đề đặt ra ở đây là làm thế nào để mỗi giây Facebook hiện đƣợc 600 ngàn hình ảnh ? Để giải quyết vấn đề này Facebook đã sử dụng vùng lƣu trữ đệm (cache) và đây cũng chính là trái tim của hệ thống.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.5: Mô hình web Facebook sử dụng cache Facebook đã phát triển Haystack – một hệ thống quản lý các tập tin hình ảnh trung gian để cải tiến sự truy vấn. Trƣớc đây, Facebook đã sử dụng hệ thống 2 tầng: một tầng chuyên cho việc upload hình ảnh và lƣu trữ vào server. Tầng kia có nhiệm vụ tìm và lấy hình ảnh từ server để trả lời các truy vấn. Tuy vậy việc xử lý theo cách cổ điển này là không phù hợp với nhu cầu tăng rất nhanh số lƣợng ngƣời dùng của Facebook dẫn tới tình trạng nghẽn mạch Input / Output.
Haystack sẽ quản lý và lƣu trữ các hình ảnh trong vùng đệm và từđây sẽ trả lời các truy vấn hình ảnh. Bên cạnh đó Facebook còn cải tiến các đoạn mã trên webserver để giảm thiểu kích thƣớc tập tin và thời gian tính toán. Ngôn ngữ lập trình cho từng bộ phận cũng dần đƣợc tối ƣu hóa. Ngƣời truy cập sẽ đƣợc phân luồng ngẫu nhiên vào các ngân hàng dữ liệu để giảm tải và các truy vấn của họ sẽđƣợc hệ thống cache trả lời nhanh chóng.
Cách thức làm việc Hình 1.6: Cách thức làm việc của Facebook LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 16 1) Trình duyệt của ngƣời dùng yêu cầu http://apps. Địa chỉ này trỏ tới một cụm máy chủ trong trung tâm dữ liệu của Facebook. Những server này sẽ phân tích các yêu cầu , xác định các ứng dụng tƣơng ứng, sau đó tìm kiếm Url callback mà nhà phát triển ứng dụng cung cấp và thực hiện gọi tới Url đó. 2) Máy chủ của Facebook sẽ gửi yêu cầu tới máy chủ của ngƣời tạo ứng dụng.
Yêu cầu này ngƣời dùng hoàn toàn không biết. 3) Server chứa ứng dụng tạo một lời gọi API tới server của Facebook bằng cách sử dụng FQL thông qua phƣơng thức fql.query() của API hoặc trực tiếp bằng các hàm API. 4) Máy chủ chứa ứng dụng sẽ trả về FBML tới máy chủ của Facebook. Kết quả đạt đƣợc cuối cùng là 1 tài liệu FBML.
Tài liệu này sẽđƣợc gửi trả lại server của Facebook để thực thi. 5) Tài liệu FBML sẽ đƣợc chuyển sang dạng HTML và phục vụ cho ngƣời sử dụng. Đây là bƣớc cuối cùng trong quá trình thực thi và trả về kết quả cho trình duyệt. Các dạng ứng dụng trên Facebook hiện nay Sự phát triển ngày càng lớn mạnh của Facebook đã kéo theo sự ra đời của rất nhiều các ứng dụng.
Theo thống kê hiện nay có khoảng 90.000 ứng dụng trên Facebook , với sự tham gia của 120 công ty. Theo thống kê năm 2008 ứng dụng trên Facebook đƣợc chia làm các loại: Alerts File sharing Photo Business Food and Drink Politics Chat Gaming Sports Classified Just for fun Travel Dating Messaging Utility Education Mobile Video Events Money Fashion Music Hiện nay ứng dụng hấp dẫn ngƣời dùng trên Facebook vẫn là các game. Dẫn đầu là game Farmville với số lƣợng ngƣời dùng hàng tháng lên tới 82. Thứ 2 là ứng dụng Static FBML do Facebook phát triển với 46.021 ngƣời dùng.
Đứng thứ 3 là Birthday Card với 41.049 ngƣời dùng hàng tháng. Tiếp theo là các ứng dụng Café world, Facebook for Iphone, Texas HoldEm Poker,… LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Điểm mạnh và yếu của mạng Facebook *) Ưu điểm - Là mạng phổ biến hiện nay. - Tính kết nối cao, chia sẻ cập nhật thông tin hàng ngày mà vẫn bảo vệ đƣợc quyền riêng tƣ.
- Ứng dụng đƣợc thiết kế khoa học , thao tác nhanh gọn, hỗ trợ tiếng Việt tốt. - Dễ dàng lƣu trữ và chia sẻ hình ảnh, video clip… - Nhiều ứng dụng , game, quiz. Ngƣời dùng cũng có thể tạo ra ứng dụng cho riêng mình. - Khả năng kết nối, giao lƣu với các thành viên trên các lãnh thổ khác nhau.
- Tính năng viết blog cho phép soạn thảo dễ dàng. *) Nhược điểm - Ngƣời dùng không tùy chỉnh đƣợc template để có trang riêng cho mình. - Nếu là ngƣời mới dùng Facebook sẽ gặp khó khăn về thao tác. Ứng dụng trên Facebook Facebook cung cấp cho ngƣời dùng nền tảng lập trình để có thể phát triển ứng dụng chạy trên mạng xã hội này.
Một số ứng dụng có thể đƣợc cài đặt ngay trong phạm vi Facebook, những ứng dụng khác lại dễ dàng cài đặt hơn nếu bắt đầu trên trang web của ứng dụng trƣớc. Facebook có khoảng 1 tỷ ngƣời dùng và đã thu hút một số lƣợng lớn các nhà phát triển ứng dụng, trong đó có những ứng dụng thu hút đƣợc hàng chục triệu ngƣời dùng mỗi tháng và doanh thu đạt hàng chục triệu đô $, điển hình là một loạt game của hãng phát triển game nổi tiếng Zynga. Khi ngƣời dùng bắt đầu lập trang trên Facebook, sẽ có vài ứng dụng cơ bản của Facebook ở cột bên trái. Những ứng dụng này do chính hãng Facebook cung cấp bao gồm Ảnh (Photos), Phim (Videos), Liên kết (Links), Sự kiện (Events) và Ghi chú (Notes).
Bất cứ ứng dụng nào khác ngƣời dùng cài đặt thêm sẽ là ứng dụng của bên thứ ba, không phải Facebook tạo ra nó. Ứng dụng của Facebook cũng bao gồm các trò chơi nhƣ CityVille và Mafia Wars và một số các ứng dụng khác mà bạn có thể đã thấy nhƣ Give a Hug hoặc Birthday Calendar. Vì ứng dụng đƣợc phát triển bởi bên thứ ba, do đó không phải tất cả các ứng dụng đều hoạt động tốt và đều đáng tin cậy. Ngƣời dùng có thể đã gặp phải một vấn đề trên Facebook nhƣ các ứng dụng thƣ rác, phá rối hay lừa đảo.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 18 CHƯƠNG 2. Xác thực và xác thực bằng OAuth 2. Tổng quan về xác thực 2. Định nghĩa xác thực Xác thực (Authentication) là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó (hoặc một ngƣời nào đó) đáng tin cậy, có nghĩa là những lời khai báo do ngƣời đó đƣa ra hoặc về vật đó là sự thật.
Xác thực một đối tƣợng còn có nghĩa là công nhận nguồn gốc của đối tƣợng, trong khi, xác thực một ngƣời thƣờng bao gồm việc thẩm tra nhận dạng của họ. Việc xác thực thƣờng phụ thuộc vào một hoặc nhiều nhân tố xác thực để minh chứng cụ thể. Xác thực là đặc biệt quan trọng để cho sự hoạt động của hệ thống đƣợc an toàn. Hệ thống luôn luôn trƣớc tiên xác thực một thực thể khi nó cố thử thiết lập sự liên lạc.
Khi đó nét nhận dạng của thực thể đƣợc dùng để xác định sự truy nhập của nó nhƣ một đặc quyền hoặc để đạt đƣợc sự sẵn sàng phục vụ. Suốt quá trình thực hiện giao thức xác thực, hai bên luôn luôn trao đổi bí mật chung, mà nó sẽ đƣợc dùng để đƣa đến sự bảo mật và toàn vẹn. Vấn đề xác thực người dùng và tầm quan trọng của nó Hệ thống xác thực ngƣời dùng đóng vai trò hết sức to lớn trong việc bảo mật thông tin của ngƣời dùng trong thời kì hiện đại hoá ngày nay. Vậy nếu không có hệ thống xác thực ngƣời dùng thì làm sao giữ an toàn đƣợc những thông tin bí mật hoặc làm sao quản lý đƣợc các bí mật trong kinh doanh, thƣơng mại và tài khoản ở ngân hàng hoặc những nguồn tài nguyên đƣợc chia sẻ ở trên mạng từ một máy chủ? Với tên và mật khẩu chính xác ngƣời dùng có thể truy cập vào các tệp tin, thƣ điện tử, tài khoản của mình ở ngân hàng hay những thông tin cá nhân của khác…Mà ngƣời dùng không muốn một ngƣời dùng nào khác biết đƣợc.
Vì vậy có thể nói lợi ích do hệ thống này mang lại là rất lớn đối với cuôc sống hiện đại ngày nay.