HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGBÀI THUYẾT TRÌNH ĐỀ TÀI GIAO THỨC HTTP... HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGMỞ ĐẦU Chúng ta có thể thấy từ lúc suất hiện đến nay, HTTP đã có r
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÀI THUYẾT TRÌNH
ĐỀ TÀI
GIAO THỨC HTTP
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Thành viên trong nhóm:
• TRẦN ĐĂNG KHOA – B18DCVT237
• PHAN THẾ HIỆP – B18DCVT144
• NGUYỄN HẢI HƯNG – B18DCVT213
• LÊ THÀNH DƯƠNG – B18DCVT074
Trang 3HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
MỞ ĐẦU
Chúng ta có thể thấy từ lúc suất hiện đến nay, HTTP đã có rất nhiều phiên
bản, mỗi phiên bản sinh ra đều nhằm mục đích đáp ứng nhu cầu sử dụng của từng
thời kỳ Và một điều chắc chắn là HTTP sẽ tiếp tục ra nhiều phiên bản cao hơn để
đáp ứng nhu cầu sử dụng mạng ngày càng tăng của thế giới Bài tiểu luận này
nhằm mục đích cung cấp các kiến thức cơ bản về HTTP để chúng ta có kiến thức
nền chắc chắn bước qua các giai đoạn khác của HTTP
Trang 4HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG I TỔNG QUAN VỀ HTTP
1.ĐỊNH NGHĨA
HTTP(HyperText Transfer Protocol)
thống thông tin phân tán
thông qua internet
Là nền tảng của truyền thông
dữ liệu cho www(world wideweb) với mục đích tạo nên nền tảng kết nối giữa client
và server bằng cách thực hiện các quá trình request-response giữa các hệ thống máy tính khác nhau
là một giao thức cho phép trao đổi
và sử dụng các nguồn tài nguyênkhác nhau
Trang 5HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG I TỔNG QUAN VỀ HTTP
Hình 1 Mô hình hoạt động yêu cầu/đáp ứng của
Trang 6HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Là một giao thức
độc lập
Trang 7HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
1 NGUYÊN LÍ HOẠT ĐỘNG
A KẾT NỐI KHÔNG LIÊN TỤC
Giả sử URL http://www.nhom12.edu/someObject/home.index
a,Quá trình hoạt động kết nối:
Bước 1: Client HTTP khởi tạo kết nối TCP tới server HTTP tại
www.nhom12.edu trên cổng 80, cổng mặc định của HTTP.
Bước 2: Server HTTP tại trạm chủ www.nhom12.edu chờ kết nối TCP ở cổng
80 “Chấp nhận” kết nối và báo cho client
Bước 3: Client HTTP gửi một bản tin yêu cầu HTTP (chưa URL) tới server
thông qua socket kết nối TCP Bản tin này cho biết client muốn đối tượng
/someObject/home.index từ trạm chủ.
Trang 8HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
1 NGUYÊN LÍ HOẠT ĐỘNG
A KẾT NỐI KHÔNG LIÊN TỤC
a,Quá trình hoạt động kết nối:
Bước 4: Server HTTP nhận bản tin yêu cầu, tạo ra bản tin đáp ứng chứa đối
tượng yêu cầu và gửi bản tin vào socket của nó
Bước 5: Server HTTP báo cho TCP đóng kết nối TCP
Bước 6: Client HTTP nhận bản tin đáp ứng Kết nối TCP kết thúc Bản tin
đáp ứng nhận được chứa file html Client hiển thị html ,phân tích cú pháp file
html và tìm tham chiếu tới 10 đối tượng JPEG
Bước 7: Với mỗi tham chiếu đối tượng JPEG, lặp lại 6 bước bên trên.
Trang 9HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
Tính từ thời điểm bắt đầu quá trình truyền tin giữa client HTTP và server
HTTP, có ba khoảng thời gian như sau:
• Một RTT dành cho việc khởi tạo kết nối TCP
• Một RTT cho bản tin yêu cầu HTTP và một bài byte đầu của bản tin
đáp ứng HTTP được phản hồi lại
• Thời gian truyền file, là thời gian từ khi client nhận được vài byte
xác nhận đầu tiên cho tới khi nhận được toàn bộ bản tin đáp ứng
Trang 10HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
1 NGUYÊN LÍ HOẠT ĐỘNG
A KẾT NỐI KHÔNG LIÊN TỤC
b, Thời gian đáp ứng:
Hình 2: Tính toán thời gian cần thiết để yêu cầu và nhận tệp HTML
Þ Đối với mỗi tham chiều đối tượng trong trường hợp sử dụng kết nối không liên tục:
Tổng thời gian truyền file = 2RTT + thời gian truyền file
Trang 11HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
nối mới cho
mỗi đối tượng
được yêu cầu
Mỗi yêu cầu tham chiếu đốitượng cần hai RTT:
+ Một RTT thiết lập kết nốiTCP
+Một RTT để yêu cầu
và nhận đối tượng
Các trình duyệt
thường mởsong song một
số kết nối TCP
để lấy các đốitượng thamchiếu
Trang 12HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
1. NGUYÊN LÍ HOẠT ĐỘNG
B KẾT NỐI LIÊN TỤC
Khắc phục được những hạn chế đãnêu ở trên với những đặc điểm
Client có thể gửi yêu cầu bất cứ khi nào
nó cần tham chiều tới một đối tượng
Chỉ cần mộtRTT cho tất
cả đối tượng
tham chiếu
Trang 13HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
2 MÔ HÌNH HỆ THỐNG TRUNG GIAN
Hình 3.Sơ đồ làm việc HTTP Client / Server
Trang 14HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG II NGUYÊN LÍ HOẠT ĐỘNG HTTP
2 MÔ HÌNH HỆ THỐNG TRUNG GIAN
VÍ DỤ: Khi người sử dụng truy cập URL
http://qldt.ptit.edu.vn/Default.aspx?page=xemdiemthi
Quá trình của một phiên làm việc HTTP diễn ra như sau:
Bước 1:HTTP client thiết lập một kết nối TCP đến server
Bước 2:Sau khi kết nối thành công, client gửi một HTTP request đến server
thông qua socket interface vừa được thiết lập Trong gói tin request sẽ chứa
đường dẫn yêu cầu (path name) là:/Default.aspx?page=xemdiemthi.
Bước 3: Server sẽ nhận và xử lý request từ client thông qua socket, sau
đó đóng gói dữ liệu tương ứng và gửi một HTTP response về cho client
Bước 4:Server đóng kết nối TCP.
Bước 5:Client nhận được dữ liệu phản hồi từ server và đóng kết nối TCP.
Trang 15HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
I BẢN TIN REQUEST
A TỔNG QUAN
“ Request” trong tiếng Anh là lời yêu cầu , lời đề nghi Trong lập trình Wed ,
HTTP Request được gọi là : thông báo yêu cầu HTTP Đây là thông tin được
gửi từ client đến server , yêu cầu server làm 1 yêu cầu gì đó
Khi bạn lên trình duyệt
browser gõ địa chỉ (ví
dụ :tintuc.vn) , ngay lập tức
trình duyệt sẽ dựa vào tên
domain để gửi yêu cầu đến địa
chỉ IP mà domain này đang
trỏ tới
Nguyên lýhoạt động
Phía server sẽ phântích yêu cầu và gửiluồng xử lý tới vị trílưu trữ của mãnguồn PHP (hoặc mãnguồn bất kì)
Nhiệm vụ của các mã nguồn là tiếp nhận yêu cầu
, phân tích request đó là reply kết quả lại cho client
Trang 16HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
Trang 17HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
HTTP Version
HTTPversion làphiên bảnHTTPđang sửdụng
Trang 18Trang 17
Trang 19HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
Trang 20HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
B CẤU TRÚC BẢN TIN HTTP REQUEST
2 REQUEST HEADER
Hình 5 Mô tả xử lý truyền tin HTTP.
Trang 21HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
B CẤU TRÚC BẢN TIN HTTP
REQUEST 3 BODY
Dữ liệu được gửi từ client đến server trong
gói tin HTTP request
BODY
Các gói tin gửi theo phương thức POSThay PUT thường để gửi dữ liệu nên sẽ cóbao gồm dữ liệu trong trường Body
Sử dụng phương thức GET gữi dữ liệu đến server sử dụng chuỗi
Trang 22HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
B CẤU TRÚC BẢN TIN HTTP REQUEST
3 BODY
Một số ví dụ về bản tin HTTP REQUEST
Hình 6: Bản tin HTTP request bắt bởi wireshark.
Trang 23Trang 21
Trang 24HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
B CẤU TRÚC BẢN TIN HTTP
REQUEST 3 BODY
Hình 7: Danh sách bản tin HTTP bắt bởi Wireshark.
Trang 25HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
AI. Bản tin RESPONSE
A TỔNG QUAN
Response (lời phản hồi)
Trong lập trình Web, HTTP Response được gọi là “thông báo phản hồi HTTP“
Đây là kết quả server trả về cho client
Mỗi bản tin response sẽ phản hồi cho 1 quản tin request tương ứng
Nguyên lý hoạt động :
Khi nhập vào địa chỉ portal.ptit.edu.vn, kết quả trả về (response)
chính là giao diện của website và các thông tin của header.
Như vậy dữ liệu mà server trả về là những đoạn mã HTML kèm theo các
thông tin của header Browser sẽ dựa vào các thông tin này để hiển thị trạng
thái kết quả của request Mã HTML dùng để hiển thị giao diện của website
Nếu nhập vào một URL không tồn tại thì thông tin của header cũng sẽ
không có gì
Trang 26HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
B CẤU TRÚC CỦA BẢN TIN HTTP RESPONSE
Cấu trúc HTTP RESPONSE
Trang 27Trang 24
Trang 28HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
B CẤU TRÚC CỦA BẢN TIN HTTP RESPONSE
Hình 8: Bản tin HTTP response bắt bởi Wireshark.
Trang 29HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
BI. MỘT SỐ PHƯƠNG PHÁP BẮT BẢN TIN HTTP
1. Sử dụng các tính năng sẵn có của trình duyệt hoặc ứng dụng.
B1: Mở Internet Explorer và tìm kiếm từ khóa ‘ptit’ trên thanh tìm kiếm Trình
duyệt sẽ mở một cửa sổ mới là Microsoft Bing để trả về kết quả tìm kiếm
B2: Nhấn phím f12 để mở các chức năng đã được tích hợp sẵn Trên thanh công cụ,
chọn tính năng network hoặc nhấn tổ hợp phím (ctrl +4) Tiếp theo chọn phím
Enable network traffic capturing hoặc nhấn phím f5
B3: Trên Microsoft Bing, sau khi 1 trang web tùy ý, sẽ thấy các bản tin https được
gửi đi
B4: Nhấn vào các bản tin đó để xem thông tin chi tiết của bản tin request và
response Phần body có thể là bản tin text, image, hay application, …
Trang 30HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
III MỘT SỐ PHƯƠNG PHÁP BẮT BẢN TIN HTTP
2 Sử dụng các ứng dụng quản lý mạng để bắt các gói tin http
B1: Khi mở Wireshark ta được yêu cầu chọn cổng mà ta muốn quản lý, chỉ cần
chọn cổng mà ta đang sử dụng là được
B2: Trên thanh tìm kiếm ta nhập vào giao thức muốn bắt gói tin, cụ thể trong
trường hợp này là ‘http’
B3: Sau đó Wireshark sẽ đưa ra các gói tin http được truyền qua công mạng mà bạn
chọn ở bước 1 Trong trường hợp không có gói tin nào, có thể vào 1 vài ứng dụng
hoặc trình duyệt sử dụng http để có thể bắt được các gói tin Trên ứng dụng
Wireshark sẽ thu được 3 cửa sổ:
Đầu tiên là cửa sổ hiển thị các gói tin bắt được và 1 vài đặc tính cơ bản của
chúng
Thứ 2 là cửa sổ phân tích chi tiết các thông tin của 1 gói tin ở đây ta chỉ quan
tâm đến trường hypertext transfer protocol
Cuối cùng là cửa sổ mã hóa bản tin http dưới từ mã thập lục phân
Trang 31HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG IV KẾT LUẬN
1 cách dễ dàng