Thế nhưng con người lại có nhiều nhược điểm: chúng ta chỉ có thờigian hạn chế, khả năng tập trung và độ chính xác cũng ở mức thấp so với máy móc.Điều đó có nghĩa là chúng ta không giỏi t
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU
KHOA CÔNG NGHỆ KỸ THUẬT-NÔNG NGHIỆP CÔNG NGHỆ CAO
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
Đ Ề T À I : H Ệ T H Ố N G Đ I Ề U K H I Ể N P I D C Â N B Ằ N G
B Ồ N N Ƣ Ớ C Đ Ơ N V Ớ I E S P 3 2
Trình độ đào tạo: Đại học Hệ đào tạo: Chính quy
Ngành: Công nghệ ký thuật Điện – Điện tử
Chuyên ngành: Điện tự động hóa
Khoá học: 2018-2022 Lớp: DH18TD
Giảng viên hướng dẫn: Ths NGUYỄN LƯƠNG THANH TÙNG
Sinh viên thực hiện: Võ Quang Hùng
Mã SV: 18033954
Bà Rịa-Vũng Tàu, tháng năm 20…
Trang 2Nhận xét của GVHD 1.Thái độ tác phong và nhận thức trong quá trình thực hiện
Trang 3LỜI CẢM ƠN
Đ ể hoàn thành Đồ án tốt nghiệp này Trước tiên chúng em xin chân thành cảm ơn ban giám hiệu nhà trường đã tạo điều kiện cho chúng tôi có một môi trường học tập tốt.
xin bày tỏ lòng biết ơn sâu sắc đến
Nguyễn Lương Thanh Tùng, giảng viên trường Đại Học Bà Rịa
Trên cương vị là người hướng dẫn đề tài,
hướng dẫn và nhiệt tình giúp đỡ tại điều kiện cho chúng em trong suốt thời gian thực hiện Đồ án.
Chúng em xin chân thành cảm ơn các thầy cô trường Đại Học
Bà Rịa Vũng Tàu đã cung cấp cho chúng em những kiến thức quý báu làm nền tảng cho những nghiên cứu của chúng em trong việc thực hiện đồ án môn học.
Trang 4MỤC LỤC
CHƯƠNG 1.GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
CHƯƠNG 2: TỔNG QUAN VỀ CÁC LINH KIỆN ĐƯỢC SỬ DỤNG
CHƯƠNG 3: ĐIỀU KHIỂN PID
CHƯƠNG 4: GIỚI THIỆU VỀ WEBSERVER
CHƯƠNG 5: GIAO DIỆN WEBSITE ĐIỀU KHIỂN VÀ GIÁM SÁT
CHƯƠNG 6: THIẾT KẾ MẠCH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
ĐỀ TÀI
Trang 5CHƯƠNG 1.GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
1 Tình hình nghiên cứu thuộc lĩnh vực đề tài
Mỗi giai đoạn phát triển của lịch sử thế giới đều gắn liền với những cuộc cáchmạng về khoa học kĩ thuật.Và ngày nay, cuộc cách mạng Internet of Things đã tạo nênnhững thay đổi đáng kể cho cuộc sống con người ở hiện tại và trong tương lai.Với sự phát triển của Internet, smartphone và đặc biệt là các thiết bị cảm biến,Internet of Things (IoT) đang trở thành xu hướng mới của thế giới IoT được địnhnghĩa là những vật dụng có khả năng kết nối Internet Bạn vào nhà, mở khóa cửa, đènsẽ tự động sáng chỗ bạn đứng, điều hòa sẽ tự động điều chỉnh nhiệt độ, nhạc sẽ tựđộng bật để chào đón bạn… những điều chỉ có trong phim khoa học viễn tưởng, đangdần trở thành hiện thực với công nghệ IoT.Việc giám sát được nhiệt
độ, độ ẩm môi trường là một vấn đề rất quan trọng trongcác ngành công nghiệp cũng như nông nghiệp, và thật là tuyệt vời nếu ở bất kỳ nơi đâuvà lúc nào nếu bạn
có internet thì bạn đề có thể làm được điều đó Công nghệ Internetof Things khiến điều này trở lên dễ dàng hơn Nhiệt độ, độ ẩm là một trong những đại lượng vật lý được quan tâm nhiều do nócó vai trò quyết định trong nhiều tính chất của vật chất Một trong những đặc điểm củanhiệt độ là làm thay đổi liên tục các đại lượng chịu
sự ảnh hưởng của nó, ví dụ như ápsuất, thể tích của một chất khí Nó cũng là yếu tố ảnh hưởng rất lớn đến chính conngười chúng ta và tất cả sự sống trên trái đất Ngày nay khi nền công nghiệp phát triểnmạnh, sản phẩm tạo ra ngày càng phong phú thì nhu cầu lưu trữ hàng hóa trong cácnhà kho càng lớn.Việc kiểm soát nhiệt độ, độ
ẩm khi bảo quản, lưu trữ sản phảm công – nông nghiệp trong các nhà kho là rất quan trọng Cũng giống như vậy, trong các phòng thí nghiệm trong bệnh viện, trong các nhà kính trồng cây cảnh, khu sản xuất rausạch…việc đảm bảo nhiệt độ,
độ ẩm cũng là yếu tố quan trọng quyết đến đến chấtlượng sản phẩm
2 Tổng quan về Internet of Things
2.1 Giới thiệu về mô hình Internet of Things (IoT)2.1.1.1 IoT là gì?
Trang 6IoT (Internet of Things) là một mạng
lưới gồm các đối tượng có khả năng kết
nốiInternet và tác động qua lại giữa các
dịch vụ web.IoT không chỉ là các máy
"giao tiếp" với nhau mà còn nhiều thứ
khác nữa, baogồm khả năng thay đổi
hoàn toàn thế giới, cả trong cuộc sống và
cách chúng ta cảm nhận trong thực tế
IoT là thuật ngữ dùng để chỉ các đối
tượng có thể được nhận biết (identifiable)cũng như chỉ sự tồn tại của chúng trong một kiến trúc mang tính kết nối Cụm từ nàyđược đưa ra bởi Kevin Ashton vào năm 1999 Ông là một nhà khoa học đã sáng lập raTrung tâm Auto-ID ở đại học MIT, nơi thiết lập các quy chuẩn toàn cầu cho RFID(một phương thức giao tiếp không dây dùng sóng radio) cũng như một số loại cảm biến khác IoT sau đó cũng được dùng nhiều trong các ấn phẩm đến từ các hãng và nhà phân tích.Vào tháng 6 năm 2009, Ashton từng cho biết rằng "hiện nay máy tính - và Internetgần như phụ thuộc hoàn toàn vào con người để chuyển tải dữ liệu Gần như tất cả 17trong số 50 Petabyte dữ liệu đang có trên Internet (vào thời điểm đó) đều được ghi lạihoặc tạo
ra bởi con người chúng ta, thông qua các cách thức như gõ chữ, nhấn nút,chụp ảnh, quét mã vạch Con người chính là nhân tố quyết định trong thế giớiInternet hiện nay Thế nhưng con người lại có nhiều nhược điểm: chúng ta chỉ có thờigian hạn chế, khả năng tập trung và độ chính xác cũng ở mức thấp so với máy móc.Điều đó
có nghĩa là chúng ta không giỏi trong việc thu thập thông tin về thế giới
xungquanh, và đây là một vấn đề lớn.Một quan điểm khác lại cho rằng, IoT gồm các đối tượng thông minh có thể đượcđiều khiển và tương tác với những đối tượng
có thể đáp ứng tương tác từ xa, hay cóthể làm việc độc lập nhằm cung cấp các dịch
vụ và giải pháp mà không cần sự canthiệp của con người.Hiện nay, IoT đang trải qua giai đoạn phát triển "bộc phát" và điều này xảy ra nhờvào một số nhân tố, trong đó gồm IPv6, 4G, chi phí, tính sẵn có của công nghệ Trongnhững năm tiếp theo, bạn sẽ thấy ngày càng có nhiều thiết bị trên thị trường Nhữngthách thức đang diễn ra là quản lý dữ liệu và chuyển sang IPv6 (IPv6 đã sẵn sàng vàchạy với địa chỉ đã được cấp phát IPv4 đã cạn kiệt và 2011 chỉ còn lại những địa chỉ cuối cùng)
Trang 7CHƯƠNG 2: TỔNG QUAN VỀ CÁC LINH KIỆN ĐƯỢC SỬ DỤNG
1 ESP32 NodeMCU-32S CP2102 Ai-Thinker
*Kit RF thu phát Wifi BLE ESP32 NodeMCU-32S CP2102 Ai-Thinker được phát triển trên nền Vi điều khiển trung tâm là ESP32 SoC với công nghệ Wifi, BLE và kiến trúc ARM mới nhất hiện nay, kit có thiết kế phần cứng, firmware và cách sử dụng tương tự Kit NodeMCU ESP8266, với ưu điểm là cách sử dụng dễ dàng, ra chân đầy đủ, tích hợp mạch nạp và giao tiếp UART CP2102, thích hợp với các nghiên cứu, ứng dụng về Wifi, BLE, IoT và điều khiển, thu thập dữ liệu qua mạng
*Thông số kỹ thuật:
Nhà sản xuất: Ai-Thinker
Module trung tâm: Ai-Thinker ESP32-S
SPI Flash: 32Mbits
Frequency Range: 2400~2483.5Mhz
Bluetooth: BLE 4.2 BR/EDR
Wifi: 802.11 b/g/n/e/i
Support Interface: UART/SPI/SDIO/I2C/PWM/I2S/IR/ADC/DAC
Nguồn sử dụng: 5VDC từ cổng Micro USB
Tích hợp mạch nạp và giao tiếp UART CP2102
Chuẩn 38 chân cắm 2.54mm, ra chân đầy đủ module ESP32
Tích hợp Led Status, nút nhấn IO0 (BOOT) và ENABLE
Kích thước: 25.4 x 48.3mm
Trang 8viện và Code mẫu với Arduino.
Trang 9Thông số kỹ thuật:
Điện áp hoạt động: 5VDC
Dòng tiêu thụ: 10~40mA
Tín hiệu giao tiếp: TTL
Chân tín hiệu: Echo, Trigger
Góc quét:<15 độ
Tần số phát sóng: 40Khz
Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều khiện
lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm)
Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ)
Kích thước: 43mm x 20mm x 17mm
VCC Nguồn 3.3 ~ 5VDC
TRIG Chân phát sóng âm Là chu kỳ của của điện cao /thấp diễn ra
ECHO Trạng thái ban dầu là 0V, khi có tín hiệu trả về sẽ là 5V và sau đó trở về
0V
GND Mass
Cách điều khiển:
Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microSeconds) từ chân Trig Sau
đó, cảm biến siêu âm sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ ở pin này Chiều rộng của xung sẽ bằng với thời gian sóng siêu
âm được phát từ cảm biển và quay trở lại
Tốc độ của âm thanh trong không khí là 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)) Tính được sóng âm di chuyển 1 cm
trong không khí sẽ mất 1000 / 344 * 100 ~= 29.1 ms Khi đã tính được thời gian, ta
sẽ chia cho 29,412 để nhận được khoảng cách
Trang 103.Mạch lái động cơ dạng cầu DC(L298)
Mạch điều khiển động cơ DC L298 có khả năng điều
khiển 2 động cơ DC, dòng tối đa 2A mỗi động cơ, mạch
tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp nguồn
5VDC cho các module khác (chỉ sử dụng 5V này nếu
nguồn cấp <12VDC).Mạch điều khiển động cơ DC L298
dễ sử dụng, chi phí thấp, dễ lắp đặt, là sự lựa chọn tối ưu
trong tầm giá
Thông số kỹ thuật:
IC chính: L298 - Dual Full Bridge Driver
Điện áp đầu vào: 5~30VDC
Công suất tối đa: 25W 1 cầu (lưu ý công suất = dòng điện x điện áp nên áp cấp vào càng cao, dòng càng nhỏ, công suất có định 25W)
Dòng tối đa cho mỗi cầu H là: 2A
Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
Kích thước: 43x43x27mm
Trang 11Sơ đồ
4 Động cơ bơm mini
Điện áp: DC / 12V
Trang 12Dòng định mức: 6A
Công suất: 72W
Tốc độ dòng: 6 L / phút
Chiều cao tối đa: 5m
Thời gian làm việc liên tục tối đa: 120h
Nhiệt độ nước 5℃ - 45℃
Hoạt động nhiệt độ môi trường: 5℃ - 40℃
Áp suất nước tạo ra: 0.9Mpa
Chương 3: Điều khiển PID
3.1 Khái quát về bộ điều khiển PID
Cấu trúc của bộ điều khiển PID gồm có ba thành phần là khâu
khuếch đại (P), khâu tích phân (I) và khâu vi phân (D) Khi sử dụng thuật toán PID nhất thiết phải lựa chọn chế độ làm việc là P, I hay D và sau đó là đặt tham
số cho các chế độ đã chọn Một cách tổng quát, có ba thuật toán cơ bản được sử
Trang 13- Nếu sai lệch tĩnh e(t) càng lớn thì thông qua thành phần up(t), tín hiệu điều chỉnh u(t) càng lớn
- Nếu sai lệch e(t) chƣa bằng 0 thì thông qua thành phần uI(t), PID vẫn còn tạo tín hiệu điều chỉnh
- Nếu sự thay đổi của sai lệch e(t) càng lớn thì thông qua thành phần uD(t), phản ứng thích hợp của u(t) sẽ càng nhanh
Bộ điều khiển PID đƣợc mô tả bằng mô hình vào-ra:
trong đó:
e(t) – tín đầu vào;
u(t) – tín hiệu đầu ra;
Trang 14Có nhiều phương pháp xác định tham số của bộ điều khiển PID :
3.2 Các phương pháp xác định tham số bộ điều khiển PID
*Phương pháp Ziegler-Nichols
Trang 15*Phương pháp Ziegler-Nichols thứ hai: Phương pháp này áp dụng cho đối
- Tăng hệ số khuếch đại tới giá trị tới hạn kth để hệ kín ở chế độ biên giới ổn
- Xác định chu kỳ Tth của dao động
Trang 16Thông số của các bộ điều khiển đƣợc chọn theo bảng sau:
* Phương pháp Chien-Hrones-Reswick
Trang 17Đáp ứng nấc của hệ thích hợp cho phương pháp Chien-Hrones-Reswick
Bảng 2:Các tham số PID theo phương pháp Chien-Hrones-Reswick 1
quá 20% so với
CHƯƠNG 4: GIỚI THIỆU VỀ WEBSERVER
4.1.Giới thiệu ứng dụng Web
Trang 184.1.1.Khái niệm ứng dụng web
Web Application là một ứng dụng, thường bao gồm một tập hợp các script cư trú ở Webserver và tương tác với database hay các nguồn nội dung động khác (dynamic content) Ứng dụng này nhanh chóng được sử dụng rộng rãi vì nó cho phép nhà cung cấp dịch vụ và khách hàng chia sẻ và vận dụng thông tin theo các độc lập nền thông qua cơ sở hạ tầng của Internet Một vài ví dụ về web application như: công cụ search, Webmail, shopping cart và portal system
-Kiến trúc cơ bản
Về cơ bản, một ứng dụng web bao gồm vài thành phần, các thành phần này là một web server, nội dung ứng dụng có trên 1 web server và tiêu biểu là nơi lưu trữ dữ liệu cuối cùng cho các giao diện và truy cập ứng dụng Đây là mục tiêu rất cơ bản của ứng dụng
Kiến trúc ứng dụng Web được tạo bởi các thành phần sau:
- Web server
- Nội dung ứng dụng (Application content)
- Lưu trữ dữ liệu (datastore)
4.1.2 Hoạt động của ứng dụng web
Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên trình duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application Server) Web ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu: cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu Sau đó ứng dụng Web gửi thông tin lại cho người dùng qua trình duyệt
4.1.3 Kết nối với cơ sở dữ liệu
Một ứng dụng phải được viết trong một ngôn ngữ chủ được hổ trợ bởi hệ thống đặc biệt Mỗi DBMS (Database Managerment System) có cách sở hữu những ứng dụng được cho phép sử dụng nó Ưu điểm của SQL làm dễ dàng các nhà phát triển để chuẩn hóa dữ liệu định nghĩa và dữ liệu thao tác và hầu hết các nhà quản trị cơ sở
dữ liệu chọn SQL là ngôn ngữ truy vấn của họ
Tuy nhiên, ứng dụng và sự phân chia cơ sở dữ liệu chỉ đạt được ưu điểm của mô hình lập trình Client-Server Giao diện ứng dụng với cơ sở dữ liệu bằng phương pháp kết nối cơ sỏ dữ liệu APIs cung cấp với ngôn ngữ lập trình được sử dụng để phát triển ứng dụng Những bộ kết nối cơ sở dữ liệu APIs là có thể lưu trữ những
Trang 19thông tin kết nối cơ sở dữ liệu và ủy nhiệm thư, và chúng có khả năng để gởi câu truy vấn SQL đến cơ sở dữ liệu, nhận kết quả từ câu truy vấn và trả chúng lại cho ứng dụng
Có 3 cách phổ biến nhất của giao diện ứng dụng web với cơ sở dữ liệu sau cùng là:
- Native database APIs
- ODBC
- JDBC
4.2.Các vấn đề liên quan đến ứng dụng web
Các ứng dụng Web được phát triển từ nhiều nguồn khác nhau, nên các lỗ hổng, các lỗi bảo mật cũng rất đa dạng Tuy vậy, các ứng dụng Web chủ yếu được phát triển
từ các nguồn chính sau đây:
- Sử dụng ứng dụng Web từ mã nguồn mở (thường gọi là open source nhưng không theo dõi và cập nhật các bản vá lỗi bảo mật)
- Ứng dụng web được phát triển từ những người lập trình, mà họ không quan tâm nhiều hoặc thiếu kinh nghiệm trong việc bảo mật cho ứng dụng của mình Họ không có một đội ngũ chuyên về kiểm tra lỗi bảo mật nên trang web thường có nhiều lỗ hổng
- Phát triển ứng dụng Web từ một ứng dụng mở khác nhưng người phát triển thường không kiểm tra lỗi bảo mật ứng dụng cũ trước khi phát triển tiếp, nên vẫn tồn tại các lỗi bảo mật
Ngày nay do sự phát triển bùng nổ của Internet, nên ứng dụng web được sử dụng rất rộng rãi trong nhiều lĩnh vực như báo điện tử, các trang giao dịch trực tuyến, các trang quảng cáo điện tử, các web thông tin của các doanh nghiệp hay chính phủ Chính vì sự phát triển rộng rãi này nên ứng dụng web luôn bị người ta tìm cách khai thác những lỗ hổng với những mục đích khác nhau
4.2.1.Các thuật ngữ thường dùng
- HTTP Header
HTTP header là phần đầu (header) của thông tin mà trình khách và trình chủ gửi cho nhau Những thông tin trình khách gửi cho trình chủ được gọi là HTTP requests (yêu cầu) còn trình chủ gửi cho trình khách là HTTP responses (trả lời) Thông thường, một HTTP header gồm nhiều dòng, mỗi dòng chứa tên tham số và
Trang 20giá trị Một số tham số có thể được dùng trong cả header yêu cầu và header trả lời, còn số khác thì chỉ đuợc dùng riêng trong từng loại Ví dụ:
• Header yêu cầu:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Accept-Encoding: gzip, deflate
- Dòng đầu là dòng yêu cầu cho biết phương thức yêu cầu (GET hoặc POST), địa chỉ yêu cầu (/tintuc/homnay.asp) và phiên bản HTTP (HTTP/1.1)
- Tiếp theo là các tham số Chẳng hạn như:
+ Accept-Language: Cho biết ngôn ngữ dùng trong trang web
+ Host: Cho biết địa chỉ của máy chủ
+ Referer: Cho biết địa chỉ của trang web tham chiếu tới
- Header của HTTP request sẽ kết thúc bằng một dòng trống
Trang 21- Dòng đầu là dòng trạng thái, để cho biết phiên bản HTTP được dùng (HTTP/1.1),
mã trạng thái (200) và trạng thái (OK)
- Tiếp theo là các tham số
- Tiếp theo là một dòng trống để báo hiệu kết thúc header, tiếp theo là phần thân của HTTP response
- Session
Session hiểu nôm na là "phiên làm việc" Ở trên web, khi ta duyệt từ trang này sang trang khác, một vấn đề đặt ra là làm sao để có thể mang thông tin từ trang này sang trang khác được (Ví dụ khi ta login với user A, thì khi ta sang trang x, y, z
ta vẫn còn là A) Session ra đời để giải quyết vấn đề trên
Lần đầu khi ta ghé thăm 1 website, website sẽ tạo cho ta 1 session với ID riêng, và
cứ thế duyệt website đó cho tới khi session hết hạn Website có thể dùng session để lưu một số thông tin giúp chúng ta thuận tiện hơn khi duyệt website (như ví dụ trước là lưu trữ thông tin người dùng hiện tại đang login vào website là ai)
Việc tạo session và quyết định khi nào session hết hạn là hoàn toàn do server quản
lý
- Cookie
Cookies là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa server Web và browser của người dùng Cookie cung cấp cho server thông tin để nhận biết người
Trang 22dùng, cũng như sở thích, thói quen của họ Cookies sử dụng các biểu mẫu yêu cầu người dùng điền vào khi họ đến thăm một Web site có hỗ trợ chúng Không phải mọi browser đều có thể hỗ trợ cookie
Cookie là những file dữ liệu nhỏ, dưới 4K byte Chúng được các site World Wide Web tạo ra để truy tìm những người đã ghé thăm site và những vùng mà họ đã đi qua trong site này Cookie được browser của người dùng chấp nhận cho lưu trên đĩa cứng của máy mình (máy khách) Trong những phiên truy cập sau, server Web truy cập những thông tin của cookie, trong đó có tên đăng nhập và password, nên người dùng không phải làm thủ tục đăng nhập mỗi khi họ thăm Web site Nhưng vấn đề là ở chỗ Web site này có thể dùng thông tin cá nhân của bạn để phục vụ cho mục đích quảng cáo
Netscape Communications Corp là hãng đầu tiên sử dụng cookie trong browser và ngay sau đó, Microsoft cũng chấp nhận kỹ thuật này Nhưng không phải browser nào cũng hỗ trợ cookie, đặc biệt là những phiên bản cũ
Nhưng rõ ràng là cookie chứa đựng trong nó những nguy cơ về bảo mật Ví dụ, một tay hacker ở ngân hàng có thể để một cookie trên hệ thống của hắn và sửa sao cho nó tái tạo dữ liệu trên máy của người khác Sau đó, anh ta có thể sử dụng dữ liệu này để truy cập account của người kia
Những trình duyệt mới hơn cho phép người dùng khóa các cookie hoặc xin phép
họ trước khi lưu lại cookie trên hệ thống Một số phần mềm của các hãng thứ ba cũng giúp quản lý cookie Nhưng đối với người dùng, thật khó biết tại sao cookie lại có mặt trên hệ thống của họ cũng như những cookie này chứa đựng thông tin gì
- Proxy
Proxy cung cấp cho người sử dụng truy xuất Internet những nghi thức đặt biệt hoặc một tập những nghi thức thực thi trên dual_homed host hoặc basion host Những chương trình client của người sử dụng sẽ qua trung gian proxy server thay thế cho server thật sự mà người sử dụng cần giao tiếp
Proxy server xác định những yêu cầu từ client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy server sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp những yêu cầu từ client đến server, cũng như trả lời của server đến client Vì vậy proxy server giống cầu nối trung gian giữa server
và client
- Firewall
Trang 23Một giải pháp dùng để bảo vệ một hệ thống mạng thường được sử dụng là bức tường lửa - Firewall (hoạt động dựa trên gói IP do đó kiểm soát việc truy nhập của máy người sử dụng) Nó có vai trò như là lớp rào chắn bên ngoài một hệ thống mạng Firewall có thể là một thiết bị định hướng (Router, một thiết bị kết nối giữa hai hay nhiều mạng và chuyển các thông tin giữa các mạng này) hay trên một máy chủ (Server) Công việc của chúng là ngăn chặn những người dùng không mong muốn truy cập vào mạng và cho phép người dùng hợp lệ thực hiện việc truy xuất Ngoài ra, nó cũng có khả năng ngăn chặn người bên trong công ty, ngân hàng giao tiếp với kẻ xấu bên ngoài; chẳng hạn việc nhân viên giao dịch với đối thủ cạnh tranh
Firewall có thể là một phần mềm hoặc phần cứng nằm giữa 2 mạng để bảo vệ hoặc kiểm soát liên kết giữa hai mạng đó
4.3.Tổng quan về Web Server
4.3.1.Định nghĩa về Web Server
Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script, các chương trình, và các file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP, giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name Giả sử khi người sử dụng đánh vào thanh Address trên trình duyệt của máy một dòng http://www.abc.com sau đó gõ phím Enter, khi đó người sử dụng đã gửi một yêu cầu đến một Server có Domain Name là www.abc.com Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của người sử dụng
Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên
nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet Khi máy tính kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại những thông tin mà người sử dụng mong muốn
Trang 24Web Server Software cũng chỉ là một ứng dụng phần mềm Web Server Software được cài đặt, và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này
mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet)
Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng
Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java System Web Server dành cho *.jsp
Phần lớn các Web server sử dụng cổng 80, nhưng cũng có thể thay đổi để Webserver có thể cài đặt trên cổng không tiêu chuẩn nếu muốn "dấu" Web server như là một Web server đa host trên một máy tính bằng việc ánh xạ mỗi server cho một cổng khác nhau
4.3.2.Nguyên lý hoạt động của Web Server
Khi ta gõ địa chỉ trang web “http://www.abc.com/” vào trình duyệt web và nhấn Enter, trang web hiển thị ngay trên màn hình Các bước cơ bản trong tiến trình truyền tải trang web đến màn hình người dùng bằng cơ chế hoạt động của Web server được thể hiện
Ttrình duyệt web thực hiện một kết nối tới máy chủ web, yêu cầu một trang web và nhận lại nó Sau đây, là thứ tự từng bước cơ bản xảy đến đằng sau màn hình của bạn:
Trình duyệt web tách địa chỉ website làm 3 phần:
- Phần giao thức: (“http”)
- Máy chủ tên miền: (www.abc.com)
- Tên tệp: (“index.htm”)
Trình duyệt liên hệ với máy chủ tên miền để chuyển đổi tên miền
"www.abc.com" ra địa chỉ IP (Internet Protcol)
Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ có địa chỉ IP tương ứng qua cổng 80
Trang 25Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu GET đến máy chủ, yêu cầu tệp "http://www.abc.com/index.htm" (cookies cũng sẽ được gửi kèm theo từ trình duyệt web đến máy chủ)
Tiếp đến, máy chủ sẽ gửi đoạn text dạng HTML đến trình duyệt web máy đã gởi yêu cầu (cookies cũng được gửi kèm theo từ máy chủ tới trình duyệt web, cookies được ghi trên đầu trang của mỗi trang web)
Trình duyệt web đọc các thẻ HTML, định dạng trang web và kết xuất ra màn hình
4.3.3.Web Client
- WebClient là gì? Là giao diện phía người dùng đầu cuối (Client), dùng để tạo ra giao diện tương tác của người dùng đối với ứng dụng Web (User Interface)
- Các công nghệ/ ngôn ngữ lập trình hỗ trợ cho WebClient
+Công nghệ: PhotoShop, Flash, Silver Light (Microsoft)v v…
là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet)
Trang 26Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản),
có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị Người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh
đã đến trước mình Đây chính là một hạn chế, khiếm khuyết của HTTP Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng thông minh đối với lệnh mà người dùng nạp vào Và sự hạn chế này đang được các nhà phát triển khắc phục trong các công nghệ mới như ActiveX, Java, JavaScript và cookies
Phiên bản mới nhất của HTTP là 1.1 So với phiên bản nguyên thủy (HTTP 1.0), phiên bản mới này truyền tải các trang Web nhanh hơn và giảm tình trạng tắc nghẽn giao thông Web
để truyền tải các file giữa các máy tính trên Internet
FTP hiện được dùng phổ biến để upload các trang Web từ nhà thiết kế Web lên một máy chủ host trên Internet, truyền tải các file dữ liệu qua lại giữa các máy tính trên Internet, cũng như để tải các chương trình, các file từ các máy chủ khác về máy tính cá nhân Dùng giao thức FTP, bạn có thể cập nhật (xóa, đổi tên, di chuyển, copy,) các file tại một máy chủ Nếu dùng chức năng FTP của một ứng dụng quản lý file (như Total Commander), bạn có thể tiến hành các tác vụ xử lý file trên máy chủ giống như ngay trên máy tính của mình
4.5.Các Web Server thông dụng
4.5.1 Web Server Apache
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới (World Wide Web)
Trang 27Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác về mặt hiệu suất và tính năng phong phú Từ tháng 4 năm 1996, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất Hơn nữa, Apache thường được dùng để so sánh
với các phần mềm khác có chức năng tương tự Tính đến tháng 1 năm 2007 thì Apache
chiếm đến 60% thị trường các chương trình phân phối trang web
Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation Apache được phát hành với giấy phép Apache License và là một phần mềm tự do và miễn phí
4.5.2.IIS
Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet)
là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server,
Nó có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển giao siêu văn bản -Hypertext Transport Protocol (HTTP)”
Trong chiến lược giành thị phần Internet của Microsoft, máy chủ Web Internet Information Service (IIS) là một trong những ưu tiên hàng đầu Phiên bản đầu tiên IIS 1.0 được giới thiệu cách đây 11 năm cùng với Windows NT 4.0 vào năm 1996 Đến năm 1999, IIS 5.0 (trên nền Windows 2000 Server) nhanh chóng trở thành máy chủ web phổ biến nhất vào thời điểm đó, mặc dù chỉ vài tháng sau nó phải đối mặt với những lỗ hổng bảo mật nghiêm trọng, bị các virus như Red Code, Nimbda khai thác Phiên bản IIS 6.0 trên nền Windows Server 2003 được đánh giá là máy chủ web chắc chắn, ổn định, nhờ những thay đổi quan trọng trong kiến trúc Được viết lại trong sự khác biệt rất lớn so với IIS 6.0, với những cải tiến tốc độ, độ ổn định và khả năng an ninh, mục tiêu của IIS 7.0 là trở thành một máy chủ web uyển chuyển và dễ dùng, cũng như đủ mạnh để chạy các ứng dụng web trong tương lai