Hoạt động của HTTP và FTPBáo cáo bài tập lớn môn Mạng máy tính Viện điện tử viễn thông Đại học Bách Khoa Hà Nội
Trang 1HTTP và FTP.
Sinh viên thực hiện:
Bùi Doãn Minh
– Chương 2: Các thuộc tính của HTTP.
– Chương 3: Nguyên lý hoạt động.
– Chương 4: Một số yêu cầu được sử dụng
trong HTTP.
– Chương 5: Persistent Connection và Message.
PHẦN II – FTP.
Trang 2Lời nói đầu.
z Trong thực tế, luôn có yêu cầu về sử dụng
các nguồn tài nguyên file chia sẻ trên mạng
(Online shared Access) Có 2 phương thức Online shared Access
- Bất cứ program nào cũng có thể thay đổi
file và sự thay đổi đó diễn ra ngay lập tức
trên file
Trang 3Lời nói đầu.
z Whole-file copying:
- Khi program muốn truy cập vào file, nó
sẽ nhận được và thực hiện các thao tác trên
local-copy của file đó
- Nếu muốn sửa đổi file chia sẻ, program
sẽ thực hiện điều đó trên local-copy và gửi
lại local-copy đã được sửa đổi đó về site
chính
World Wide Web
z Web page:hypermedia document
z Mỗi Web page được “đánh địa chỉ” bởi 1
URL duy nhất
z URL:Uniform Resource Locators:gồm 2
phần chính là hostname và pathname.
z ví dụ:http://www.cs.purdue.edu/people/comer
Trang 4World Wide Web
z User làm việc với web bằng việc sử dụng các
trình duyệt web(web browser)
z Server chứa web là các webserver
Chương 1: Tổng quan về HTTP.
zL ị ch s ử phát tri ể n c ủ a HTTP.
HTTP là tên viết tắt của từ HyperText
Transfer Protocol: Giao thức truyền dẫn
siêu văn bản
Trang 5Chương 1: Tổng quan về HTTP.
z HTTP là hình thức được sử dụng chính
trong hệ thống World-Wide-Web (www)
trên toàn thế giới
z Được đề xuất sử dụng vào năm 1990
z Phiên bản đầu tiên được sử dụng là HTTP
0.9
Chương 1: Tổng quan về HTTP.
z Sau đó, vào năm 1995, đã phát triển thành
phiên bản 1.0
z So với HTTP 0.9, phiên bản mới này đã
được cải tiến, cho phép những bản tin dài
hơn được truyền đi và có thể chỉnh sửa
được Tuy nhiên, nó chưa thực sự đáp ứng
Trang 6Chương 1: Tổng quan về HTTP.
z Tháng 6 năm 1999, HTTP phiên bản 1.1 đã
thực sự đáp ứng được việc truyền dữ liệu với
tính chính xác và tốc độ cao
z Hơn hẳn HTTP 1.0, phiên bản này cho phép
thực hiện những chức năng đơn giản như
phục hồi lại dữ liệu, thêm chức năng tìm
kiếm, có thể cập nhật thông tin và chú thích
đơn giản
Chương 1: Tổng quan về HTTP.
z Ngày nay, chúng ta đã biết, trong 1 trang
Web bất kỳ, người ta có thể chèn những file
hình ảnh, âm thanh, những đoạn phim,
vvv…vvv Tất cả đều được xây dựng trên nền
HTTP 1.1 này
z Để có thể tìm hiểu nhiều hơn về HTTP, bạn
có thể truy cập theo địa chỉ:
http://www.w3.org/Protocols/
Trang 7Chương 2: Các thuộc tính của HTTP.
z TCP sử dụng lớp giao thức chung với IP
nên kết hợp với những gói tin của IP và được
gọi là TCP/IP
Trang 8Chương 2: Các thuộc tính của HTTP.
z Giao thức HTTP chứa 2 mục khác nhau: tập
hợp các request từ các browser đến server
và tập hợp các response đi ngược trở lại
Chương 2: Các thuộc tính của HTTP.
z Request/Response: khi một quá trình
truyền tải được thiết lập, một bên (thường
là các browser) phải gửi HTTP request cho
phía bên kia (bên sẽ gửi HTTP response)
z Truyền dẫn 2 chiều: trong hầu hết các
trường hợp, browser gửi request đến server
và sẽ nhận được copy của Webpage Nhưng
HTTP cũng cho phép browser gửi dữ liệu lên
server
Trang 9Chương 2: Các thuộc tính của HTTP.
z Capability Negotiation: HTTP cho phép cả
bên gửi và bên nhận đều có khả năng tính
toán và xác định dung lượng nhận/gửi
z Support for intermediaries: HTTP cho
phép hoạt động của Proxy server
z Stateless:Each HTTP request is
self-contained,the server does not keep a
history of previous requests or previous
sessions
Chương 2: Các thuộc tính của HTTP.
z Support for caching: để giảm thời gian
response, browser có khả năng lưu lại
Webpage Nếu user lại yêu cầu Webpage,
thì browser chỉ cần kiểm tra xem có thay
đổi nào ở phần copy của Webpage kể từ khi
nó được browser lưu lại không
Trang 10Chương 2: HTTP và proxy server.
z User muốn truy nhập
Web thông qua
Proxy server
z Nếu object đã được
lưu ở Proxy server
Chương 2: HTTP và proxy server
z Proxy lưu lại các
request của user
z Khi có yêu cầu
Trang 11Chương 3: Nguyên lý hoạt động.
z Client/Server model:
Chương 3: Nguyên lý hoạt động.
z Client thiết lập 1 kết nối TCP đến server
trên cổng 80
z Server chấp nhận kết nối TCP đó từ client
z Http messages (application-layer protocol
messages) được trao đổi giữa browser
(http client) và Webserver (http server)
Trang 12Chương 3: Nguyên lý hoạt động.
z Ví dụ về HTTP
z Giả sử user enter URL:
www.someschool.edu/somedepartment/home.index
z Http client thiết lập một kết nối TCP đến http
server ở someschool.edu, cổng 80 mặc định cho
kết nối này
z Http server ở host trên chấp nhận kết nối và
thông báo về cho client
Chương 3: Nguyên lý hoạt động.
z Http client gửi http request message (gồm
cả URL) vào kết nối TCP đưa đến server
z Http server nhận được request, sau đó
định dạng một response message (bao gồm
somedepartment/home.index ) và gửi qua
kết nối
z Http server đóng kết nối TCP
z Http client nhận được response message
gồm cả html file, và hiển thị html file đó
Trang 13Chương 4: Một số yêu cầu trong
HTTP.
z Phương pháp GET: yêu cầu server gửi
trang, mã hóa theo MIME được
z Phương pháp Head: chỉ hỏi tựa đầu thông
điệp, không hỏi trang
z Phương pháp PUT: ngược lại với GET
Phương pháp này có thể sử dụng để xây
dựng một bộ trang Web trên 1 server ở xa
Chương 4: Một số yêu cầu trong
HTTP.
z Phương pháp POST: hơi giống với phương
pháp PUT Mang theo một URL nhưng thay
vì thế chỗ dữ liệu tồn tại, dữ liệu mới được
nối thêm (appended) đến nó theo 1 số ý
nghĩa tổng quát
z Phương pháp DELETE: gỡ bỏ trang
Trang 14Chương 5: Persistent Connection
và message
z Các version trước 1.1 của HTTP có cùng 1
kiểu như FTP, khi thiết lập 1 kết nối TCP cho
mỗi data transfer Với trình tự: client thiết
lập kết nối TCP và gửi GET request, server
gửi lại copy của requested item và đóng kết
nối Client sẽ tiếp tục đọc dữ liệu từ kết nối,
cho đến khi hết dữ liệu thì ngắt kết nối TCP
Chương 5: Persistent Connection
và message
z Sang đến HTTP 1.1, thì chỉ sử dụng 1 kết
nối TCP cho nhiều request, response Khái
niệm này gọi là Persistent connection.
z Persistent connection nhờ sử dụng ít kết
nối TCP, nên giảm thời gian trễ (response
latency), giảm chi phí cho mạng cơ sở, giảm
bộ nhớ yêu cầu ở buffer
z Nhược điểm chủ yếu của Persistent
connection là phải gửi kèm độ dài item
Trang 15Chương 5: Persistent Connection
Trang 16Chương 5: Persistent Connection
và message
z http response message
Response code
z http response code:
Trang 17Chương 6: Tổng quan về FTP.
z FTP là tên viết tắt của File Transfer
Protocol- Giao thức truyền tập tin.
z Tưong tự như HTTP, FTP được dùng để
trao đổi file trên mạng thông qua giao thức
TCP/IP (ví dụ: Internet, Intranet…).
z Và trong quá trình hoạt động của FTP cũng
Trang 18Chương 6: Tổng quan về FTP.
z Mục đích của FTP:
– Khuyến khích việc chia sẻ thông tin (các
chương trình máy tính, dữ liệu…)
– Khuyến khích sử dụng máy tính từ xa 1 cách
gián tiếp-to encourage indirect or implicit (via
programs) use of remote computers.
– Che đậy sự khác biệt về hệ thống file lưu trữ
giữa các host- to shield a user from variations
in file storage systems among hosts.
– Truyền tập tin 1 cách đáng tin cậy và hiệu quả.
Chương 7: Các thuộc tính của FTP.
z FTP features:
– Truy nhập tương tác- Interactive access:
mặc dù FTP được tạo ra để dùng bởi các
program, nhưng hầu hết các trình duyệt đã cung
cấp 1 giao diện tương tác giúp người sử dụng có
thể dễ dàng “giao tiếp” với các remote server.
– Format (representation) Specification:
FTP cho phép client định dạng type và format
của dữ liệu Ví dụ: text, binary intergers hay
ASCII và EBCDIC
Trang 19Chương 7: Các thuộc tính của FTP.
– Authentication Control: FTP yêu cầu các máy
khách khi truy nhập phải thoả mãn login name và
password trước khi truyền tập tin Server sẽ từ
chối cho truy nhập nếu login name hoặc
password không hợp lệ.
Chương 7: Các thuộc tính của FTP.
– Như hầu hết các server khác, FTP server cho
phép nhiều client truy nhập cùng 1 lúc.
– Client sử dụng TCP để kết nối vào server.
– FTP sử dụng 2 kết nối riêng biệt trong quá
trình truyền tập tin giữa server và client:
control connection và data transfer
Trang 20Chương 7: Các thuộc tính của FTP.
Chương 7: Các thuộc tính của FTP.
– Control connection:
mang các lệnh để chỉ dẫn cho server biết file
nào sẽ được truyền dẫn.
– Data transfer connection:
sử dụng giao thức TCP để truyền tập tin.
– Cả server và client đều tạo ra 2 process riêng
rẽ để điều khiển quá trình truyền dữ liệu.
Trang 21Chương 7: Các thuộc tính của FTP.
– Control process của client sử dụng kết nốt TCP
để kết nối với Control process của server, trong
khi Data transfer connection ở server và client
sử dụng 1 kết nối TCP riêng khác.
– Các Control process và Control connection sẽ
được duy trì tồn tại trong suốt quá trình truyền
dẫn bằng FTP.
Chương 7: Các thuộc tính của FTP.
– Trong khi đó, với mỗi file truyền dẫn, FTP lại
thiết lập 1 data transfer connection mới.
– Nói tóm lại, data transfer process sử dụng
data transfer connection để thực hiện quá trình
truyền, và chúng có thể được thiết lập “động”
mỗi khi cần, nhưng Control connection thì giữ
nguyên trong quá trình, khi Control connection
Trang 22Chương 7: Các thuộc tính của FTP.
– Nếu user muốn truyền tải file giữa 2 host, thì
mô hình hoạt động như sau:
Chương 7: Các thuộc tính của FTP.
– User sẽ thiết lập các Control connection lên 2
server.
– Các thông tin điều khiển sẽ được truyền thông
qua user, còn dữ liệu sẽ được truyền qua server
data transfer.
Trang 23Chương 7: Các thuộc tính của FTP.
– FTP dùng 2 cổng 20 và 21 trong hoạt động của
mình.
– Cổng 21: dùng để thiết lập Control connection
điều khiển quá trình.
– Cổng 20: dùng để thiết lập Data transfer
connection truyền dữ liệu.
Chương 7: Các thuộc tính của FTP.
– Việc Control connection được giữ “đứng yên”
trong suốt quá trình truyền tải dữ liệu gây nên 1
số vấn đề Điển hình khi truyền tải dữ liệu với
dung lượng lớn, và đường truyền tải phải thông
qua những bức tường lửa (ngắt các kết nốt sau 1
thời gian dài im lặng).
TCP control connection port 21
Trang 24z Mật khẩu và nội dung tập tin được truyền ở
dạng văn bản thường (clear text), vì vậy
chúng có thể bị chặn và bị tiết lộ Cộng với
đặc điểm của FTP mà có thể nói bị lộ mật
khẩu FTP là nguy hiểm nhất
z Cần nhiều kết nối TCP/IP: để điều khiển và
truyền tải tập tin thì FTP dùng các kết nối
riêng biệt
Chương 8: Các hạn chế và khắc phục.
Chương 8: Các hạn chế và khắc phục.
z Việc thanh lọc giao thông FTP bên trình
khách khi nó hoạt động ở chế độ active, dùng
tường lửa, là 1 việc khó làm
z Người ta có thể lạm dụng tính năng uỷ quyền,
được cài đặt sẵn trong giao thức, để sai
khiến máy chủ gửi dữ liệu sang 1 cổng tuỳ
chọn ở 1 máy tính thứ 3
z FTP có độ trì trệ cao (high latency) do nó
phải giải quyết 1 số lượng lớn các dòng lệnh
khởi đầu phiên truyền tải
Trang 25Chương 8: Các hạn chế và khắc phục.
z Phần nhận không kiểm tra được tính toàn
vẹn của dữ liệu Nếu kết nối truyền tải bị
ngắt giữa chừng thì không có cách gì biết
được tập tin nhận được là hoàn chỉnh hay
thiếu sót
Chương 8: Các hạn chế và khắc phục.
z Bảo mật trong FTP:
– FTP là phương pháp truyền tập tin không an
toàn vì không có cách nào truyền tải dưới dạng
mật mã hoá được, nên nguy cơ bị quan sát và lộ
các thông tin là rất cao.
– Giải pháp cho vấn đề này thường là SFTP
(Secure Shell FTP): FTP cộng thêm chức năng
Trang 26Chương 8: Các hạn chế và khắc phục.
– Để việc public các file chia sẻ được dễ dàng và
rộng rãi hơn.
– Client không cần tài khoản và mật khẩu mà thay
vào đó là các mặc định anonymousvà guest
– Tuy người dùng thường được yêu cầu cho biết
email nhưng vẫn rất sơ sài, và tuỳ thuộc vào
trình FTP mà người đó sử dụng.
Chương 9: Trình duyệt của FTP.
z Hiện nay đa số các trình duyệt Web đều có
thể kết nối vào các FTP server
z Người sử dụng có thể thao tác các tập tin
trên máy chủ thông qua FTP với giao diện
như ở máy tính của mình
z FTP URL : có dạng như sau
ftp(s)://<địa chỉ của máy chủ FTP> hoặc
ftp(s)://<tên người dùng>:<mật khẩu>@<địa
chỉ của máy chủ FTP>:<số cổng>