37
ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH WEB SERVER Giảng viên hướng dẫn: TS. HUỲNH NGỌC THỌ Sinh viên thực hiện : TRỊNH HỮU HOÀNG TRƯƠNG VĂN THÔNG

CHƯƠNG 1.daotao.sict.udn.vn/uploads/2020/01/1578645678-bc-do-a…  · Web view2020. 1. 10. · 2.1. Tìm hiểu về giao thức TCP/IP. 2.1.1. Giao thức TCP/IP là gì? Bộ

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

ĐẠI HỌC ĐÀ NẴNG

KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 4

ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH WEB SERVER

Giảng viên hướng dẫn: TS. HUỲNH NGỌC THỌ

Sinh viên thực hiện : TRỊNH HỮU HOÀNG

TRƯƠNG VĂN THÔNG

Lớp : 17IT2

Đà nẵng, tháng 12 năm 2019

ĐẠI HỌC ĐÀ NẴNG

KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 4

ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH

WEB SERVER

Đà Nẵng, tháng 12 năm 2019

MỞ ĐẦU

Trong thời đại ngày nay, thời đại mà sức mạnh của Internet bùng nổ thì việc tra cứu thông tin, tìm kiếm tài liệu trên mạng không còn là điều gì đó quá xa lạ. Thông qua Internet mọi người có thể tra cứu thông tin, tìm tài liệu hay đơn giản là đọc báo trong nước và quốc tế một cách nhanh chóng và hiệu quả nhất.

Với công nghệ Word Wide Web, hay còn gọi là website sẽ giúp bạn đưa những thông tin mong muốn của mình lên mạng Internet cho mọi người cùng xem một cách dễ dàng với các công cụ và ngôn ngữ lập trình khác nhau. Vậy việc lưu trữ các trang web và làm sao người dùng có thể truy cập một trang web nào đó? Câu trả lời đó chính là Web Server. Để hiểu rõ hơn về cơ chế hoạt động của một Web Server cũng như các giao thức liên quan đến nó nhóm chúng em đã chọn đề tài “Xây dựng chương trình Web Server”.

LỜI CẢM ƠN

Việc nghiên cứu và xây dựng một chương trình Web Server giúp chúng em tìm hiểu một cách chuyên sâu về cơ chế hoạt động cũng như các giao thức liên quan đến Web Server.

Trong quá trình tìm hiểu và làm đồ án này, chúng em đã cố gắng hoàn thiện một cách tốt nhất và hoàn thiện chính mình về mặt kiến thức nhưng cũng không thể tránh khỏi được sự thiếu sót.

Chúng em xin gửi lời cảm ơn chân thành đến tất cả các thầy cô giảng viên của Khoa Công nghệ thông tin và truyền thông nói chung và thầy Huỳnh Ngọc Thọ nói riêng đã cung cấp cho chúng em kiến thức, kỹ năng cần thiết, hướng dẫn cho chúng em hoàn thành tốt đồ án này.

Em xin chân thành cảm ơn!

NHẬN XÉT

(Của giảng viên)

..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

MỤC LỤC

CHƯƠNG 1. GIỚI THIỆU11.1.Tổng quan11.2.Phương pháp, kết quả11.2.1. Phương pháp11.2.2. Kết quả11.3.Cấu trúc bài báo cáo1CHƯƠNG 2. NGHIÊN CỨU TỔNG QUAN22.1. Tìm hiểu về giao thức TCP/IP22.1.1. Giao thức TCP/IP là gì?22.1.2 Tổng quan về giao thức TCP/IP22.1.3. Các tầng trong chồng giao thức của bộ giao thức TCP/IP32.1.4. So sánh giữa TCP/IP và mô hình OSI62.1.5. Đóng gói dữ liệu UDP62.2. Tìm hiểu về giao thức HTTP72.2.1. Giao thức HTTP là gì?72.2.2. Các thành phần cơ bản của một giao thức HTTP72.2.3. Các đặc trưng cơ bản của giao thức HTTP82.3. Tìm hiểu về Web Server8CHƯƠNG 3. TRIỂN KHAI XÂY DỰNG VÀ KẾT QUẢ ĐẠT ĐƯỢC113.1. Lựa chọn ngôn ngữ lập trình113.2. Cài đặt môi trường cần thiết113.2.1. Download phiên bản PHP113.2.2. Cài đặt môi trường cho PHP113.2.3. Cấu hình lại file php.ini123.3 Các thuật toán xử lý12CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN174.1. Kết luận174.2. Hướng phát triển17

DANH MỤC CÁC BẢNG

Bảng 1.1. Bảng so sánh sự khác nhau giữa TCP/IP và mô hình OSI6

DANH MỤC HÌNH ẢNH

Hình 1. Các tầng trong mô hình TCP/IP3

Hình 2. Tầng giao vận4

Hình 3. Đóng gói dữ liệu UDP6

Hình 4. Cách thức hoạt động của web server9

Hình 5. Download phiên bản PHP11

Hình 6. Cài đặt môi trường cho PHP11

Hình 7. Tạo một ServerSocket lắng nghe người dùng12

Hình 8. Nhận fileRequest và phương thức từ người dùng12

Hình 9. Kiểm tra nếu phương thức không hợp lệ13

Hình 10. Xử lý dữ liệu13

Hình 11. Xử lý đối với file .php13

Hình 12. Kiểm tra và trả lại cho người dùng14

Hình 13. Giao diện chương trình Web Server14

Hình 14. Giao diện trang chủ localhost15

Hình 15. Giao diện thông báo lỗi không tìm thấy trang15

Hình 16. Giao diện của một trang web khi chạy bằng web server16

Hình 17. Giao diện của một trang php16

CHƯƠNG 1. GIỚI THIỆU1.1. Tổng quan

Năm 1989, Sir Tim Berners-Lee đã đề xuất một dự án mới cho chủ nhân CERN, với mục tiêu giảm bớt trao đổi thông tin giữa các nhà khoa học bằng cách sử dụng hệ thống siêu văn bản. Dự án dẫn đến Berners-Lee viết hai chương trình vào năm 1990 đó là một trình duyệt gọi là World Wide Web và máy chủ web đầu tiên trên thế giới, sau này được gọi là CERN httpd, chạy trên NeXTSTEP.

Để vận hành một website ta cần có một web server. Mục đích chính của web server là lưu trữ các tệp của website và phát chúng qua internet để khách truy cập web có thể xem được. Về bản chất, một web server đơn giản chỉ là một máy tính mạnh mẽ với khả năng lưu trữ và truyền dữ liệu qua internet. Khi ai đó truy cập một trang web trình duyệt của họ sẽ giao tiếp với web server, gửi và nhận các thông tin mà chúng được ra lệnh để xuất hiện trên màn hình máy tính của khách truy cập. Như vậy, vai trò chủ yếu của web server là lưu trữ và chuyển tải dữ liệu website theo yêu cầu từ trình duyệt của khách truy cập.

Để hiểu rõ hơn về web server, cách thức hoạt động của nó nhóm chúng em chọn đề tài tìm hiểu và xây dựng một chương trình web server.

1.2. Phương pháp, kết quả1.2.1. Phương pháp

Giai đoạn một: Tìm kiếm tài liệu, tìm hiểu về web server và các giao thức liên quan như: TCP/IP, HTTP,…

Giai đoạn hai: xây dựng chương trình web server thông qua việc sử dụng công cụ Eclipse và ngôn ngữ lập trình java.

1.2.2. Kết quả

Xây dựng được chương trình web server với những chức năng cơ bản.

1.3. Cấu trúc bài báo cáo

Nội dung chính bao gồm 4 chương:

· Chương 1: Giới thiệu

· Chương 2: Nghiên cứu tổng quan

· Chương 3: Triển khai xây dựng và kết quả đạt được

· Chương 4: Kết luận và hướng phát triển

CHƯƠNG 2. NGHIÊN CỨU TỔNG QUAN2.1. Tìm hiểu về giao thức TCP/IP2.1.1. Giao thức TCP/IP là gì?

Bộ giao thức TCP/IP, (tiếng Anh: Internet protocol suite hoặc IP suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng), là một bộ các giao thức truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng máy tính thương mại đang chạy trên đó. Bộ giao thức này được đặt tên theo hai giao thức chính của nó là TCP (Giao thức Điều khiển Giao vận) và IP (Giao thức Liên mạng). Chúng cũng là hai giao thức đầu tiên được định nghĩa.

2.1.2 Tổng quan về giao thức TCP/IP

Như nhiều bộ giao thức khác, bộ giao thức TCP/IP có thể được coi là một tập hợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn. Về mặt lôgic, các tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vào các giao thức tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể được truyền đi một cách vật lý.

Ý tưởng hình thành mô hình TCP/IP được bắt nguồn từ Bộ giao thức liên mạng trong công trình DARPA vào năm 1970. Trải qua vô số năm nghiên cứu và phát triển của 2 kỹ sư Robert E. Kahn và Vinton Cerf cùng sự hỗ trợ của không ít các nhóm nghiên cứu. Đầu năm 1978, giao thức TCP/ IP được ổn định hóa với giao thức tiêu chuẩn được dùng hiện nay của Internet đó là mô hình TCP/IP Version 4.

Vào năm 1975, cuộc thử nghiệm thông nối giữa 2 mô hình TCP/IP được diễn ra thành công. Cũng bắt đầu từ đây, cuộc thử nghiệm thông nối giữa các mô hình TCP/IP được diễn ra nhiều hơn và đều đạt được kết quả tốt. Cũng chính vì điều này, một cuộc hội thảo được Internet Architecture Broad mở ra, với sự tham dự của hơn 250 đại biểu của các công ty thương mại, từ đây giao thức và mô hình TCP/IP được phổ biến rộng rãi trên khắp thế giới.2.1.3. Các tầng trong chồng giao thức của bộ giao thức TCP/IP

2.1.3. Các tầng trong chồng giao thức của bộ giao thức TCP/IP2.1.3.1. Tầng ứng dụng

Hình 1. Các tầng trong mô hình TCP/IP

Đây là lớp giao tiếp trên cùng của mô hình. Đúng với tên gọi, tầng ứng dụng đảm nhận vai trò giao tiếp dữ liệu giữa 2 máy khác nhau thông qua các dịch vụ mạng khác nhau (duyệt web, chat, gửi email, một số giao thức trao đổi dữ liệu: SMTP, SSH, FTP,...). Dữ liệu khi đến đây sẽ được định dạng theo kiểu Byte nối Byte, cùng với đó là các thông tin định tuyến giúp xác định đường đi đúng của một gói tin.

Giao tiếp xảy ra trong tầng này là tùy theo các ứng dụng cụ thể và dữ liệu được truyền từ chương trình, trong định dạng được sử dụng nội bộ bởi ứng dụng này, và được đóng gói theo một giao thức tầng giao vận.

Do chồng TCP/IP không có tầng nào nằm giữa ứng dụng và các tầng giao vận, tầng ứng dụng trong bộ TCP/IP phải bao gồm các giao thức hoạt động như các giao thức tại tầng trình diễn và tầng phiên của mô hình OSI. Việc này thường được thực hiện qua các thư viện lập trình.

Dữ liệu thực để gửi qua mạng được truyền cho tầng ứng dụng, nơi nó được đóng gói theo giao thức tầng ứng dụng. Từ đó, dữ liệu được truyền xuống giao thức tầng thấp tại tầng giao vận.

Hai giao thức tầng thấp thông dụng nhất là TCP và UDP. Mỗi ứng dụng sử dụng dịch vụ của một trong hai giao thức trên đều cần có cổng. Hầu hết các ứng dụng thông dụng có các cổng đặc biệt được cấp sẵn cho các chương trình phục vụ (server)(HTTP - Giao thức truyền siêu văn bản dùng cổng 80; FTP - Giao thức truyền tệp dùng cổng 21, v.v..) trong khi các trình khách (client) sử dụng các cổng tạm thời (ephemeral port). Các thiết bị định tuyến và thiết bị chuyển mạch không sử dụng tầng này nhưng các ứng dụng điều chỉnh thông lượng (bandwidth throttling) thì có dùng.

2.1.3.2. Tầng giao vận

Hình 2. Tầng giao vận

Chức năng chính của tầng giao vận là xử lý vấn đề giao tiếp giữa các máy chủ trong cùng một mạng hoặc khác mạng được kết nối với nhau thông qua bộ định tuyến. Tại đây dữ liệu sẽ được phân đoạn, mỗi đoạn sẽ không bằng nhau nhưng kích thước phải nhỏ hơn 64KB. Cấu trúc đầy đủ của một Segment lúc này là Header chứa thông tin điều khiển và sau đó là dữ liệu.

Trong tầng này còn bao gồm 2 giao thức cốt lõi là TCP và UDP. Trong đó, TCP đảm bảo chất lượng gói tin nhưng tiêu tốn thời gian khá lâu để kiểm tra đầy đủ thông tin từ thứ tự dữ liệu cho đến việc kiểm soát vấn đề tắc nghẽn lưu lượng dữ liệu. Trái với điều đó, UDP cho thấy tốc độ truyền tải nhanh hơn nhưng lại không đảm bảo được chất lượng dữ liệu được gửi đi.

2.1.3.3. Tầng mạng

Gần giống như tầng mạng của mô hình OSI. Tại đây, nó cũng được định nghĩa là một giao thức chịu trách nhiệm truyền tải dữ liệu một cách logic trong mạng. Các phân đoạn dữ liệu sẽ được đóng gói (Packets) với kích thước mỗi gói phù hợp với mạng chuyển mạch mà nó dùng để truyền dữ liệu. Lúc này, các gói tin được chèn thêm phần Header chứa thông tin của tầng mạng và tiếp tục được chuyển đến tầng tiếp theo. Các giao thức chính trong tầng là IP, ICMP và ARP.

2.1.3.4. Tầng vật lý

Là sự kết hợp giữa tầng Vật lý và tầng liên kết dữ liệu của mô hình OSI. Chịu trách nhiệm truyền dữ liệu giữa hai thiết bị trong cùng một mạng. Tại đây, các gói dữ liệu được đóng vào khung (gọi là Frame) và được định tuyến đi đến đích đã được chỉ định ban đầu.

2.1.4. So sánh giữa TCP/IP và mô hình OSI

Bảng so sánh sự khác nhau giữa TCP/IP và mô hình OSI

TCP/IP

Mô hình OSI

Tính bảo mật

Không có ranh giới nghiêm ngặt

Có ranh giới chặt chẽ

Phương pháp tiếp cận

Tiếp cận theo chiều ngang

Tiếp cận theo chiều dọc

Mô hình phân tầng

Kết hợp tầng phiên và tầng trình diễn trong tầng ứng dụng

Có các tầng khác nhau và mỗi tầng chỉ thực hiện một chức năng riêng

Thiết kế mô hình

Giao thức được thiết kế đầu tiên và sau đó mô hình được phát triển

Việc phát triển mô hình xảy ra trước và sau đó là phát triển giao thức

Truyền thông

Chỉ hỗ trợ truyền thông không kết nối phát ra từ tầng mạng

Hỗ trợ cả kết nối không dây và kết nối theo định tuyến trong tầng mạng

Tính phụ thuộc

TCP/IP là một mô hình phụ thuộc vào giao thức

OSI là một chuẩn giao thức độc lập

Bảng 1.1. Bảng so sánh sự khác nhau giữa TCP/IP và mô hình OSI

2.1.5. Đóng gói dữ liệu UDP

Hình 3. Đóng gói dữ liệu UDP

Dữ liệu của người dùng sẽ lần lượt đi qua các tầng trong mô hình, ở mỗi tầng, dữ liệu sẽ được thêm phần header để điều khiển và chuyển xuống tầng thấp hơp. Bên nhận sẽ lần lượt bóc tách các header từ tầng thấp và chuyển lên tầng cao, cho đến người dung.

2.2. Tìm hiểu về giao thức HTTP2.2.1. Giao thức HTTP là gì?

HTTP (Tiếng Anh: HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) là một trong năm giao thức chuẩn của mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp dịch vụ (Web server) và Máy sử dụng dịch vụ (Web client) trong mô hình Client/Server dùng cho World Wide Web-WWW, HTTP là một giao thức thuộc tầng ứng dụng, nằm trên cặp giao thức tầng giao vận & tầng mạng là TCP/IP.

HTTP hoạt động dựa trên mô hình Client – Server. Trong mô hình này, các máy tính của người dùng sẽ đóng vai trò làm máy khách (Client). Sau một thao tác nào đó của người dùng, các máy khách sẽ gửi yêu cầu đến máy chủ (Server) và chờ đợi câu trả lời từ những máy chủ này.

HTTP cùng với HTML là phát kiến của Tim Berners-Lee ở CERN vào năm 1989 đứng sau là các tổ chức lớn (IETF) và World Wide Web Consortium (W3C), và đỉnh cao là việc công bố ra hàng loạt các bản RFC(Request for Comments).

Phiên bản đầu tiên của HTTP là HTTP V0.9 (1991). Năm 1995, David Ragger lãnh đạo nhóm HTTP Working Group (viết tắt HTTP WG) muốn mở rộng giao thức này đa dạng hơn như: thẻ meta-rich decription, và bảo mật hơn bằng cách thêm các phương thức khác và các trường header.

HTTP lúc công bố đến nay đã trải qua nhiều phiên bản 1.x (1.0, 1.1, 1.2,1.3), đến ngày nay là phiên bản 2.x.

HTTP/2 được công bố trong bản RFC 7540 vào tháng 7 năm 2015.

2.2.2. Các thành phần cơ bản của một giao thức HTTP

Giao thức HTTP cấu trúc không quá phức tạp như những giao thức khác. Nó bao gồm các thành phần cơ bản:

1. URLs (Uniform Resource Locators): URLs dùng để tham chiếu tới tài nguyên trên website. Cấu trúc của 1 URLs gồm: Protocol, Host, Port, Resource Path, Query

2. HTTP Request methods (các yêu cầu): Đây là 1 tập phương thức yêu cầu để người dùng sử dụng tương tác với máy chủ 

3. Status Code (Mã trạng thái): Tiếp theo kế sau các Request Methods chính là các Status Code ( Mã trạng thái ). Status Code là một con số để xác định trạng thái sau khi thực thi một yêu cầu HTTP.

4. Cấu trúc một gói tin HTTP bao gồm 3 thành phần sau:

· Request Line : Chứa Request method và đường dẫn URL của tài nguyên đích.

· Header: Chứa các thông tin của thiết bị thực hiện Request này.

· Body : Phần thân chứa dữ liệu của Request.

2.2.3. Các đặc trưng cơ bản của giao thức HTTP

HTTP có 3 đặc trưng cơ bản giúp nó tạo thành một giao thức cơ bản nhưng nhiều sức mạnh:

· HTTP là một phương tiện độc lập: Điều này có nghĩa là bất cứ loại dữ liệu (data) nào cũng có thể được gửi HTTP chỉ cần máy chủ và máy khách biết cách kiểm tra dữ liệu. 

· HTTP là giao thức kết nối không liên tục: Khi có một yêu cầu từ máy khách được tạo ra, máy chủ Client ngắt kết nối từ Server và đợi phản hồi. Sau khi server xử lý xong yêu cầu  thì sẽ kết nối lại với Client để gửi phản hồi.

· HTTP là stateless protocol: Điều này có nghĩa là request hiện tại không biết những gì đã hoàn thành trong request trước đó.

2.3. Tìm hiểu về Web Server

Web server (Máy chủ web) là từ được dùng để chỉ phần mềm máy chủ, hoặc phần cứng dành riêng để chạy các phần mềm trên máy chủ, để từ đó có thể cung cấp các dịch vụ World Wide Web. Một máy chủ web xử lí các yêu cầu (request) từ các client (trong mô hình server - client) thông qua giao thức HTTP và một số giao thức liên quan khác.

Ở khía cạnh phần cứng, một web server là một máy tính lưu trữ các file thành phần của một website (ví dụ: các tài liệu HTML, các file ảnh, CSS và các file JavaScript) và có thể phân phát chúng tới thiết bị của người dùng cuối (end-user). Nó kết nối tới mạng Internet và có thể truy cập tới thông qua một tên miền.

Ở khía cạnh phần mềm, một web server bao gồm một số phần để điều khiển cách người sử dụng web truy cập tới các file được lưu trữ trên một HTTP server(máy chủ HTTP). Một HTTP server là một phần mềm hiểu được các URL (các địa chỉ web) và HTTP (giao thức trình duyệt của bạn sử dụng để xem các trang web).

Ở mức cơ bản nhất, bất cứ khi nào một trình duyệt cần một file được lưu trữ trên một web server, trình duyệt request (yêu cầu) file đó thông qua HTTP. Khi một request tới đúng web server (phần cứng), HTTP server (phần mềm) gửi tài liệu được yêu cầu trở lại, cũng thông qua HTTP.

Hình 4. Cách thức hoạt động của web server

Ngoài ra, nếu nói thêm về các tính năng kĩ thuật đặc thù thì các web server thông thường đều có các tính năng cho phép người dùng thực hiện những việc sau:

· Tạo một hoặc nhiều website: Thiết lập website trên web – server để website đó có thể được hiển thị và xem qua http

· Cài đặt cấu hình tệp nhật ký – log file, vị trí lưu tệp nhật ký, dữ liệu nào cần đưa vào tệp nhật ký… Tệp nhật ký có thể được sử dụng để phân tích lưu lượng truy cập.

· Cấu hình bảo mật website/thư mục. Ví dụ: tài khoản người dùng nào được hoặc không được phép mở website, địa chỉ IP nào được/không được phép mở website…

· Tạo một trang FTP: Trang FTP sẽ cho phép người dùng chuyển các tập tin đến và đi từ website.

· Tạo các thư mục ảo và gắn chúng vào các thư mục vật lý

· Cấu hình / chỉ định các trang lỗi tùy chỉnh: Cho phép việc xây dựng và hiển thị thông báo lỗi thân thiện với người dùng trên website

· Chỉ định các tài liệu mặc định: Tài liệu mặc định là những tài liệu được hiển thị khi không có tên tệp nào được chỉ định.

CHƯƠNG 3. TRIỂN KHAI XÂY DỰNG VÀ KẾT QUẢ ĐẠT ĐƯỢC3.1. Lựa chọn ngôn ngữ lập trình

Sau khi đã tìm hiểu về web server vả một số giao thức liên quan thì nhóm đã lựa chọn java để thực hiện đề tài vì java có nhiều IDE hỗ trợ, gói javax.swing cung cấp các lớp cho java swing API như Jbutton, JTextFiled, JTextArea… dễ dàng thiết kế giao diện.

3.2. Cài đặt môi trường cần thiết3.2.1. Download phiên bản PHP

Hình 5. Download phiên bản PHP

3.2.2. Cài đặt môi trường cho PHP

Hình 6. Cài đặt môi trường cho PHP

3.2.3. Cấu hình lại file php.ini

Đổi tên file “php.ini-development” thành “php.ini” và thay đổi một số thông số để có thể sử dụng các extension của PHP.

3.3 Các thuật toán xử lý

Hình 7. Tạo một ServerSocket lắng nghe người dùng

Hình 8. Nhận fileRequest và phương thức từ người dùng

Hình 9. Kiểm tra nếu phương thức không hợp lệ

Hình 10. Xử lý dữ liệu

Hình 11. Xử lý đối với file .php

Hình 12. Kiểm tra và trả lại cho người dùng

3.4 Kết quả đạt được

Giao diện khi khởi chạy ứng dụng gồm thông tin và các nút chức năng:

· Start/Stop: Khởi động và đóng chương trình Server.

· Config: Mở file cấu hình

Hình 13. Giao diện chương trình Web Server

Giao diện trang chủ của chương trình

`

Hình 14. Giao diện trang chủ localhost

Giao diện thông báo lỗi không tìn thấy trang

Hình 15. Giao diện thông báo lỗi không tìm thấy trang

Giao diện của một trang web khi chạy trên localhost được xây dựng.

Hình 16. Giao diện của một trang web khi chạy bằng web server

Giao diện của một trang php

Hình 17. Giao diện của một trang php

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN4.1. Kết luận

Đi sâu và bám sát mục tiêu nghiên cứu đã đặt ra, trên cơ sở vận dụng tổng hợp các phương pháp nghiên cứu khoa học từ lý thuyết đến thực tiễn, báo cáo đồ án với đề tài “Xây dựng chương trinhg Web Server” nhóm đồ án đã tập trung làm rõ các nội dung sau đây:

· Tìm hiểu và nghiên cứu các giao thức liên quan đến Web Server như: TCP/IP, HTTP.

· Nắm được cơ chế hoạt động của các giao thức.

· Nắm được cơ chế hoạt động của một Web Server.

· Xây dựng và demo được chương trình bằng các công cụ hỗ trợ lập trình và ngôn ngữ java.

4.2. Hướng phát triển

Hiện tại chương trình chỉ có một số chức năng cơ bản, chạy được file .html và file .php, cấu hình cho chương trình. Trong thời gian sắp tới nhóm sẽ tiếp tục phát triển thêm nhiều chức năng để có thể hỗ trợ nhiều giao thức hơn, chạy được nhiều ngôn ngữ web hơn nữa.

TÀI LIỆU THAM KHẢO

1. Bài giảng môn Lập trình mạng – PGS.TS Huỳnh Công Pháp.

2. Advanced Network Programming – Principles and Techniques.

3. Các tài liệu từ nguồn Internet.

16