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
ề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:
- 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).pdf