GIAO THỨC HTTP -HTTP (Hypertext Transfer Protocol

15 1K 3
GIAO THỨC HTTP -HTTP (Hypertext Transfer Protocol

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHẦN 1: GIAO THỨC HTTP 11 Giới thiệu chung 1.1.1 Lớp giao thức HTTP HTTP (Hypertext Transfer Protocol) giao thức thuộc lớp ứng dụng mô hình tham chiếu OSI Hoạt động thông thường port 80 giao thức hướng kết nối Nói cách khác, trước thực phiên làm việc, giao thức HTTP thực bắt tay ba bước Hình 1.1 Lớp giao thức HTTP 1.1.2 URI – Uniform Resource Identifiers Thông thường, thường quen thuộc với định nghĩa URL (Uniform Resource Locators) Địa http://www.example.com.vn ví dụ URL Trên thực tế, nhiều khác biệt hai khái niệm URL URI, URL một loại URI URI đặc điểm kỹ thuật giao thức HTTP Như hình cho thấy URI chứa nhiều thành phần, không đơn giản URL Hình 1.2 Cấu trúc đầy đủ URI - Protocol: Xác định giao thức ứng dụng cần thiết để truy cập tài nguyên, trường hợp giao thức HTTP - Username: Nếu giao thức hỗ trợ khái niệm tên người dùng username cung cấp tên người dùng để chứng thực truy cập tài nguyên - Password: Mật truy cập tài nguyên - Host: Tên miền truyền thông cho webserver, - Port: Là port cho giao thức lớp ứng dụng, ví dụ HTTP cổng 80 (có thể bỏ qua tham số này) - Path: đường dẫn phân cấp đến tài nguyên đặt Server - File: Tên tập tin tài nguyên Server - Query: Các vấn thêm thông tin tài nguyên Client - Fragment: Một vị trí tài nguyên 1.2 Hoạt động HTTP 1.2.1 Kết nối HTTP thuộc giao thức TCP, trước tiến hành truyền thông phải thực phiên kết nối TCP Trước đây, kết nối TCP thực request HTTP response, nghĩa client request lần cần phiên kết nối TCP Điều gây nhiều bất cập, ảnh hưởng nhiều đến hiệu hoạt động server Hình 1.3 Hoạt động HTTP Hiện nay, giao thức HTTP hỗ trợ phiên kết nối TCP cho phép nhiều HTTP request Hình 1.4 Hoạt động kết nối HTTP 1.2.2 Pipelining Pipelining nhằm mục đích cải thiện hiệu HTTP Client không cần phải chờ Server response request ngược lại Hình 1.5 Hoạt động Pipelining HTTP 1.2.3 Web Page Retrieval – GET Hoạt động HTTP đơn giản GET Đó cách để Client lấy đối tượng tài nguyên Server Các trình duyệt yêu cầu website từ Server với GET Hình 1.6 Hoạt động GET HTTP Với ví dụ trên, Client khởi tạo gởi thông điệp GET đến Server, thông điệp định danh đối tượng mà Client yêu cầu Server đáp ứng URI (Uniform Resource Identifier) Server trả tài nguyên mà Client yêu cầu với mã trạng thái 200 OK Nếu Server không đáp ứng yêu cầu Client gởi số mã trạng thái khác mô tả bảng bên Bảng 1.1 Mã trạng thái trả HTTP 1.2.4 Web Forms – POST Trong GET cho phép Server gửi thông tin đến Client, hoạt động POST cung cấp cách để Client gửi thông tin đến Server Trình duyệt sử dụng POST để gởi nội dung Form đến Web Server Hình cho thấy ví dụ Hình 1.7 Ví dụ Web Forms POST Hình 1.8 Hoạt động POST HTTP Như hình cho thấy, hoạt động POST đơn giản GET Client gửi thông điệp POST bao gồm thông tin mà muốn gửi đến server Cũng giống GET, phần thông điệp POST URI Nhưng trường hợp này, URI xác định đối tượng Server xử lý thông tin Cũng GET, Server trả thông tin cho client Đối với trình duyệt web, thông tin thường trang web để hiển thị 1.2.5 File Upload – PUT Các hoạt động PUT cung cấp cách để client gửi thông tin đến Server Hay nói cách khác, PUT dùng để upload liệu lên server Như hình cho thấy, hai hoạt động nhìn giống Với POST, Client gửi bao gồm URI liệu Web Server mã trạng thái, tuỳ chọn kèm theo liệu Sự khác biệt POST PUT chỗ URI : Với POST, URI xác định đối tượng Server mà xử lý liệu Với PUT, URI xác định đối tượng Server nên đặt liệu (ví dụ đường dẫn cho Server đặt liệu) Trong POST URI thường chương trình, script PUT uri thường đường dẫn tên cho tập tin Hình 1.9 Hoạt động PUT HTTP Hình 1.10 Ví dụ File Upload - PUT 1.2.6 File Deletion – DELETE Với GET PUT, giao thức HTTP trở thành giao thức chuyển file đơn giản Hoạt động DELETE hoàn thành chức cách giúp client xoá đối tượng, tài nguyên từ server Như hình cho thấy, client gửi thông điệp DELETE với URI đối tượng mà server nên xoá Các server đáp ứng với mã trạng thái liệu kèm theo Hình 1.11 Hoạt động File Delection - DELETE 1.2.7 Trạng thái - HEAD Các hoạt động HEAD giống GET, ngoại trừ Server không trả lại đối tượng thực tế yêu cầu Cụ thể, server trả mã trạng thái liệu (HEAD có nghĩa "tiêu đề," nghĩa server trả thông điệp chứa tiêu đề không chứa liệu) Client sử dụng thông điệp HEAD muốn xác minh đối tượng có tồn hay không, Ví dụ: Có thể sử dụng thông điệp HEAD để đảm bảo liên kết đến đối tượng hợp lệ mà không tiêu tốn băng thông Cache trình duyệt sử dụng thông điệp HEAD để xem đối tượng thay đổi hay không, không thay đổi hiển thị thông tin lưu trước đây, thay đổi thực GET để lấy liệu từ Server 1.3 Thông điệp HTTP Các phần trước trình bày hoạt động HTTP, xem xét thông điệp cụ thể Không giống giao thức truyền thông khác, thông điệp HTTP chủ yếu văn tiếng Anh Thay lo lắng bit byte, phần xem xét từ mà HTTP định dạng Phần trình bày cấu trúc tổng thể thông điệp HTTP Chúng ta thấy, thông điệp HTTP bắt đầu với “line” hay mã trạng thái, theo sau tiêu đề (header) khác phần thân (body) thông điệp 1.3.1 Cấu trúc thông điệp HTTP HTTP có hai tác nhân client server Các client gởi yêu cầu (request) server trả lời (response) Vì vậy, phân tích hai thông điệp HTTP Requests HTTP Responses a HTTP Request Hình 1.12 Cấu trúc thông điệp HTTP Request Hình cho thấy cấu trúc HTTP Requests Một HTTP Requests bắt đầu Request-Line Request-Line theo sau nhiều header body Để cụ thể hơn, hình bên cho thấy thông điệp http (dưới dạng văn bản) Internet Explorer Microsoft gửi người dùng truy cập vào trang www.ft.com Dòng Request-Line, tiêu đề thông điệp tạo nên phần lại văn Hình 1.13 Một ví dụ nội dung thông điệp HTTP Hình phân tích cụ thể Request-Line, bao gồm phần: Method – phương thức thông điệp, URI, Version- phiên HTTP Hình 1.14 Ví dụ cụ thể Request-Line Phương thức (method) cụ thể xuất Request-Line Trong ví dụ phương thức GET Mục Request-Line Request-URI Request-URI chứa nguồn tài nguyên cần truy cập Trong ví dụ trên, Request-uri (/), yêu cầu nguồn tài nguyên gốc Phần cuối Request-Line phiên HTTP Như ví dụ cho thấy, HTTP phiên 1.1 b HTTP Response: Request Resonse bắt đầu Status-Line (dòng mã trạng thái) Sau phần thông tin Header dòng trắng Cuối phần body Hình 1.15 Cấu trúc thông điệp HTTP Response Status-Line bắt đầu số phiên HTTP (trường hợp HTTP/1.1), sau mã trạng thái(trường hợp 200 OK) Hình 1.16 Cụ thể trường Status-Line 1.3.2 Các trường HTTP header Hình 1.17 Ví dụ HTTP header Như thấy phần trước, HTTP Request HTTP Response bao gồm nhiều thông điệp header (message header) Message header bắt đầu với tên trường dấu hai chấm (:) Như ví dụ trên, Message header Accept: , Accept-Language… PHẦN : CHƯƠNG TRÌNH HTTP DOWNLOAD Thực chức sau: – Tải tệp tin địa xác định – Cho phép nhập số luồng song song cần tải (để cạnh tranh với IDM ???) – Cho phép nhập thông số phạm vi tệp tin muốn tải (offset, length) – Xử lý việc tải file tự động từ c|c website chia sẻ thông dụng: Mediafire.com , Megashare.vn , fshare.vn – Cho phép nhập proxy cho file, kết nối file Giao diện chương trình: URL: Nhập vào địa xác định file cần Download Path: Nơi File tải Proxy: Chọn Proxy Server tải File cổng MaxLengh: Giới hạn độ lớn File Download Có chức dừng download lại Khi tải File: Tổng kết: Hiện có nhiều chương trình giúp download File mạng hoàn thiện Việc học tập nghiên cứu lại giúp cho sinh viên chúng em hiểu biết thêm nhiều kiến thức hổng Mặc dù cố tìm tòi làm chương trình nhóm chưa hoàn thành mong muốn.Nhóm tiếp tục tìm hiểu làm hoàn thiện Qua môn học lập trình mạng nhóm em học học nhiều điều từ giảng thầy qua ví dụ cụ thể Em cảm ơn thầy giúp đỡ nhóm hoàn thành tập Test: http://download.microsoft.com/download/aoe/Trial/1.0/WIN98/EN-US/MSAoE.exe [...]...Hình 1.15 Cấu trúc thông điệp HTTP Response Status-Line bắt đầu bởi số phiên bản của HTTP (trường hợp này là HTTP/ 1.1), sau đó là mã trạng thái(trường hợp này là 200 OK) Hình 1.16 Cụ thể trường Status-Line 1.3.2 Các trường trong HTTP header Hình 1.17 Ví dụ về HTTP header Như chúng ta đã thấy ở các phần trước, HTTP Request và HTTP Response có thể bao gồm một hoặc nhiều thông điệp... chúng em hiểu biết thêm rất nhiều những kiến thức còn hổng Mặc dù đã cố tìm tòi và làm bài nhưng chương trình của nhóm vẫn chưa hoàn thành như mong muốn.Nhóm sẽ tiếp tục tìm hiểu và làm hoàn thiện hơn Qua môn học lập trình mạng nhóm em học đã học được nhiều điều từ bài giảng của thầy qua các ví dụ rất cụ thể Em cảm ơn thầy đã giúp đỡ nhóm hoàn thành bài tập Test: http: //download.microsoft.com/download/aoe/Trial/1.0/WIN98/EN-US/MSAoE.exe... tin muốn tải (offset, length) – Xử lý được việc tải file tự động từ c|c website chia sẻ thông dụng: Mediafire.com , Megashare.vn , fshare.vn – Cho phép nhập proxy cho từng file, từng kết nối trong file Giao diện của chương trình: URL: Nhập vào địa chỉ xác định của file cần Download Path: Nơi chứ File tải về Proxy: Chọn Proxy Server khi tải File và cổng MaxLengh: Giới hạn độ lớn của File Download Có chức... gồm một hoặc nhiều thông điệp header (message header) Message header bắt đầu với một tên trường và dấu hai chấm (:) Như ví dụ trên, các Message header là Accept: , Accept-Language… PHẦN 2 : CHƯƠNG TRÌNH HTTP DOWNLOAD Thực hiện các chức năng sau: – Tải tệp tin ở một địa chỉ xác định – Cho phép nhập số luồng song song cần tải (để cạnh tranh với IDM ???) – Cho phép nhập các thông số về phạm vi của tệp tin ... tài nguyên đặt Server - File: Tên tập tin tài nguyên Server - Query: Các vấn thêm thông tin tài nguyên Client - Fragment: Một vị trí tài nguyên 1.2 Hoạt động HTTP 1.2.1 Kết nối HTTP thuộc giao... trúc thông điệp HTTP HTTP có hai tác nhân client server Các client gởi yêu cầu (request) server trả lời (response) Vì vậy, phân tích hai thông điệp HTTP Requests HTTP Responses a HTTP Request Hình... điệp HTTP Response Status-Line bắt đầu số phiên HTTP (trường hợp HTTP/ 1.1), sau mã trạng thái(trường hợp 200 OK) Hình 1.16 Cụ thể trường Status-Line 1.3.2 Các trường HTTP header Hình 1.17 Ví dụ HTTP

Ngày đăng: 20/01/2016, 17:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan