Bài giảng Mạng máy tính - Nguyễn Cao Đạt - Chương 2: Tầng ứng dụng (Bài giảng 1)

2.1 Các nguyên lý của tầng

ứng dụng

 2.2 Web và HTTP

 2.3 FTP

 2.4 Thư điện tử

 SMTP, POP3, IMAP

 2.5 DNS

 2.6 Ứng dụng P2P

 2.7 Lập trình Socket với

TCP

 2.8 Lập trình Socket với

UDP

pdf37 trang | Chuyên mục: Mạng Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 2438 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Mạng máy tính - Nguyễn Cao Đạt - Chương 2: Tầng ứng dụng (Bài giảng 1), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ền đường dẫn 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
21 
Tóm lược HTTP 
Giao thức truyền tải siêu văn 
bản – HTTP (hypertext transfer 
protocol) 
 giao thức ứng dụng web 
 mô hình khách/chủ 
 khách: trình duyệt web yêu 
cầu, nhận và trình bày các 
đối tượng web 
 chủ: máy chủ Web gửi trả 
các đối tượng theo yêu cầu 
của khách 
PC chạy 
Firefox 
Máy chủ 
chạy dịch vụ 
máy chủ Web 
Apache 
Mac chạy 
Safari 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
22 
Tóm lược HTTP (tt) 
Sử dụng TCP: 
 khách khởi tạo kết nối TCP 
(tạo hốc kết nối) tới máy chủ 
tại cổng 80 
 máy chủ chấp nhận kết nối 
TCP từ khách 
 thông điệp HTTP (thông điệp 
giao thức tầng ứng dụng) 
được trao đổi giữa trình duyệt 
web (khách HTTP) và máy 
chủ Web (chủ HTTP) 
 đóng kết nối TCP 
HTTP là giao thức không 
lưu giữ trạng thái 
 máy chủ không lưu bất kì 
thông tin nào về ng/d 
Những giao thức lưu trạng thái 
tương đối phức tạp 
 lịch sử duyệt web phải được 
lưu giữ 
 nếu máy chủ/khách bị hỏng 
thì thông tin về trạng thái có 
thể không thống nhất, cần 
phải cân chỉnh lại 
hơn nữa 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
23 
Kết nối HTTP 
HTTP không ổn định 
 Gần như một đối tượng 
được gửi qua MỘT kết nối 
TCP 
HTTP ổn định 
 Nhiều đối tượng có thể 
được gửi qua một kết nối 
TCP duy nhất giữa khách 
và chủ 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
24 
HTTP không ổn định 
người dùng đưa vào URL sau 
www.someSchool.edu/someDepartment/home.index 
1a. khách HTTP khởi tạo liên kết 
TCP tới máy chủ HTTP (tiến 
trình) tại www.someSchool.edu ở 
cổng 80 
2. khách HTTP gửi thông điệp 
truy vấn HTTP (chứa URL) vào 
hốc kết nối TCP. Thông điệp chỉ 
ra là khách muốn có đối tượng 
“someDepartment/home.index” 
1b. máy chủ HTTP tại 
www.someSchool.edu chờ kết 
nối TCP tại cổng 80. “chấp 
nhận” kết nối từ khách, thông 
báo lại cho khách 
3. máy chủ HTTP server nhận 
được thông điệp truy vấn, tạo 
ra một thông điệp phản hồi 
chứa đối tượng được yêu cầu, 
và gửi thông điệp vào hốc kết 
nối 
thời gian 
(chứa văn bản, 
liên kết tới 10 
hình ảnh jpeg) 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
25 
HTTP không ổn định(tt) 
5. khách HTTP nhận được thông 
điệp phản hồi chứa tệp html, 
hiển thị html. Phân tích tệp 
html tìm ra 10 liên kết tới các 
đối tượng jpeg 
6. các bước 1-5 lập lại cho mỗi 
trong 10 đối tượng jpeg 
4. máy chủ HTTP đóng kết nối 
TCP. 
time 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
26 
HTTP không ổn định: thời gian phản hồi 
Thời gian xoay vòng – RTT: 
là thời gian cần để một gói tin 
nhỏ di chuyển từ khách tới chủ 
và quay trở lại 
Thời gian phản hồi: 
 một RTT để khởi tạo kết nối 
TCP 
 một RTT để gửi truy vấn HTTP 
và vài byte đầu của phản hồi 
HTTP quay trở lại 
 thời gian truyền tải tệp 
tổng = 2RTT+ t/g truyền tải 
t/g để 
truyền trải 
tệp tin 
khởi tạo 
kết nốiTCP 
RTT 
yêu cầu 
tệp tin 
RTT 
nhận được 
tệp tin 
t t 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
27 
HTTP ổn định 
Những vấn đề của HTTP không 
ổn định: 
 yêu cầu 2 RTT cho mỗi đối 
tượng 
 hệ điều hành (HĐH – OS) 
tăng tải cho mỗi kết nối TCP 
 trình duyệt thường mở nhiều 
kết nối TCP song song để tải 
những đối tượng liên kết 
HTTP ổn định 
 máy chủ giữ lại liên kết sau 
khi gửi phản hồi, gọi là liên 
kết mở 
 những thông điệp HTTP tiếp 
theo giữa cặp khách/chủ đó 
sẽ được gửi qua liên kết mở 
ở trên 
 khách gửi truy vấn ngay khi 
nó gặp phải một liên kết tới 
đối tượng 
 chỉ cần 1 RTT cho tất cả các 
đối tượng được liên kết tới 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
28 
Thông điệp truy vấn HTTP 
 hai loại thông điệp HTTP: truy vấn (request), phản hồi 
(response) 
 thông điệp truy vấn HTTP: 
 ASCII (định dạng con người đọc được) 
GET /somedir/page.html HTTP/1.1 
Host: www.someschool.edu 
User-agent: Mozilla/4.0 
Connection: close 
Accept-language:fr 
(dấu xuống dòng phụ) 
dòng truy vấn 
(các câu lệnh GET, 
POST, HEAD) 
các dòng 
mào đầu 
Xuống dòng 
báo hiệu kết thúc 
thông điệp 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
29 
Thông điệp truy vấn HTTP: định dạng chung 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
30 
Khung nhập dữ liệu tải lên 
Phương pháp POST: 
 Trang web thường có 
những khung điền dữ liệu 
 Dữ liệu vào được tải lên 
máy chủ trong phần thân 
(entity body) của thông 
điệp truy vấn 
Phương pháp GET (URL): 
 sử dụng phương pháp 
GET 
 Dữ liệu vào được tải lên 
trực tiếp trong các trường 
của URL của dòng truy 
vấn 
www.somesite.com/animalsearch?monkeys&banana 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
31 
Các loại phương pháp 
HTTP/1.0 
 GET 
 POST 
 HEAD 
 đòi hỏi máy chủ đặt đối 
tượng được yêu cầu nằm 
ngoài thông điệp phản hồi 
HTTP/1.1 
 GET, POST, HEAD 
 PUT 
 tải tệp tin trong phần thân 
lên đường dẫn được nêu 
trong URL 
 DELETE 
 xóa tệp được nêu trong URL 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
32 
Thông điệp phản hồi HTTP 
HTTP/1.1 200 OK 
Connection close 
Date: Thu, 06 Aug 1998 12:00:15 GMT 
Server: Apache/1.3.0 (Unix) 
Last-Modified: Mon, 22 Jun 1998 …... 
Content-Length: 6821 
Content-Type: text/html 
dữ liệu ... dữ liệu ... 
dòng trạng thái 
(giao thức 
mã trạng thái 
câu trạng thái) 
các dòng 
mào đầu 
dữ liệu, vd: 
tệp HTML 
được yêu cầu 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
33 
Các mã trạng thái của thông điệp phản hồi 
HTTP 
200 OK 
 truy vấn thành công, đối tượng theo sau trong thông điệp này 
301 Được di chuyển vĩnh viễn - Moved permanently 
 đối tượng truy vấn đã được di chuyển, vị trí mới kèm theo sau trong 
thông điệp này (Location:) 
400 Truy vấn không hợp lệ - Bad Request 
 máy chủ không hiểu thông điệp truy vấn 
404 Không tìm thấy - Not Found 
 tài liệu yêu cầu không tìm thấy trên máy chủ này 
505 Phiên bản HTTP không được hỗ trợ -HTTP Version Not 
Supported 
Nằm trong dòng đầu tin của thông điệp phản hồi từ chủ->khách 
Một vài mã ví dụ: 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
34 
Thử nghiệm HTTP (với vai khách) 
1. Telnet tới trang web yêu 
thích: 
Mở kết nối TCP tới cổng 80 (cổng mặc định 
của máy chủ Web) tại cis.poly.edu. 
Tất cả những gì ta gõ vào đều được gửi tới 
cổng 80 tại cis.poly.edu 
telnet cis.poly.edu 80 
2. Gõ vào một truy vấn HTTP “GET” : 
GET /~ross/ HTTP/1.1 
Host: cis.poly.edu 
Bằng cách này (nhấn vào nút Enter 2 
lần), bạn gửi một truy vấn GET 
tối thiểu (nhưng đầy đủ) 
tới máy chủ HTTP 
3. Xem xét thông điệp phản hồi mà máy chủ HTTP gửi trả 
lại cho bạn 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
35 
Trạng thái người dùng/máy chủ: cookies 
Nhiều trang web lớn sử dụng 
cookies 
Bốn thành phần: 
1) dòng mào đầu cookie của 
thông điệp phản hồi HTTP 
2) dòng mào đầu cookie của 
thông điệp truy vấn HTTP 
3) tệp tin cookie được lưu trên 
máy người dùng và quản lý 
bởi trình duyệt 
4) thông tin về phiên làm việc 
của người dùng đồng thời 
được lưu tại CSDL của trang 
web 
Ví dụ: 
 Bờm luôn luôn truy cập 
Internet từ máy tính cá 
nhân 
 đầu tiên, lướt một trang 
thương mại điện tử 
 khi truy vấn HTTP đầu 
tiên đến trang web, trang 
web sẽ tạo ra: 
 số định danh (ID) độc nhất 
 một thẻ ghi trong CSDL cho 
ID đó 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
36 
Cookies: duy trì “trạng thái” (tt) 
khách chủ 
phản hồi http 
phản hồi http 
tệp cookie 
1 tuần sau: 
truy vấn http 
cookie: 1678 hành vi khi 
có cookie 
truy cập 
ebay 8734 
truy vấn http máy chủ Amazon 
tạo ra ID 
1678 cho ng/d tạo 
mục 
phản hồi http 
Set-cookie: 1678 
ebay 8734 
amazon 1678 
truy vấn http 
cookie: 1678 hành vi khi 
có cookie 
truy cập 
ebay 8734 
amazon 1678 
CSDL 
máy chủ 
Trường Đại Học Bách Khoa Tp.HCM 
Khoa Khoa Học và Kỹ Thuật Máy Tính 
© 2011 
MẠNG MÁY TÍNH CĂN BẢN 
Bài giảng 3 - Chương 2: Tầng ứng dụng 
37 
Cookies (tt) 
Cookies có thể chứa gì? : 
 thông tin ủy quyền 
 giỏ mua sắm trực tuyến 
 trạng thái phiên làm 
việc người dùng (Web 
e-mail) 
Cookies và sự riêng tư: 
 cookies cho phép trang 
web tìm hiểu nhiều 
thông tin về bạn 
 bạn có thể cung cấp tên 
và email cho các web 
hiệu ứng 
Làm sao để duy trì “trạng thái”: 
 các đầu cuối: lưu trạng thái ở ng/gửi, 
ng/nhận qua những giao dịch 
 cookies: các th/điệp http mang các 
t/tin trạng thái 

File đính kèm:

  • pdfBài giảng Mạng máy tính - Nguyễn Cao Đạt - Chương 2 Tầng ứng dụng (Bài giảng 1).pdf