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ấ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
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
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
1.ĐỊNH NGHĨA
HTTP(HyperText Transfer Protocol)
thống thông tin phân tán
thông qua internet
CHƯƠNG I TỔNG QUAN VỀ HTTP
là một giao thức cho phép trao đổi
và sử dụng các nguồn tài nguyên khác nhau
Là nền tảng của truyền thông
dữ liệu cho www(world wide web) 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
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
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
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.
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:
Trang 9HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỌ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 10
HỌ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 đối tượng cần hai RTT:
+ Một RTT thiết lập kết nối TCP
+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 đối tượng tham chiế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ột RTT 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
Hình 3.Sơ đồ làm việc HTTP Client / Server
2 MÔ HÌNH HỆ THỐNG TRUNG GIAN
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
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.
2 MÔ HÌNH HỆ THỐNG TRUNG GIAN
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ì đó
Nguyên lý hoạt động
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
Phía server sẽ phân tích yêu cầu và gửi luồ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
B Cấu trúc bản tin HTTP Request Cấu trúc HTTP REQUEST
Request
Ví dụ về gói tin HTTP request
I BẢN TIN REQUEST
Trang 17HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
1 REQUEST LINE
REQUEST LINE
Phương thức Method
GET
POST
Một số phương thức khác
- Câu truy vấn sẽ được đính kèm vào đường dẫn HTTP request
- Chiều dài URL có hạn
- Câu truy vấn sẽ được gửi trong phần message body của HTTP request
- Không bị giới hạn về độ dài
Trang 18HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
2 REQUEST HEADER
B CẤU TRÚC BẢN TIN HTTP REQUEST
Request header
AcceptAccept-Encoding Connection CookieUser-Agent
Trang 19HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
2 REQUEST HEADER
Hình 5 Mô tả xử lý truyền tin HTTP.
B CẤU TRÚC BẢN TIN HTTP REQUEST
Trang 20HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
3 BODY
B CẤU TRÚC BẢN TIN HTTP REQUEST
BODY
Dữ liệu được gửi từ client đến server trong
gói tin HTTP request
Đa số các gói tin gửi theo phương thức
GET sẽ có Body trống
Các gói tin gửi theo phương thức POST hay 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
truy vấn (query string)
Trang 21HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
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.
B CẤU TRÚC BẢN TIN HTTP REQUEST
Trang 22HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
3 BODY
Hình 7: Danh sách bản tin HTTP bắt bởi Wireshark.
B CẤU TRÚC BẢN TIN HTTP REQUEST
Trang 23HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG III BẢN TIN HTTP
II 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 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 CỦA BẢN TIN HTTP RESPONSE
Cấu trúc HTTP RESPONSESTATUS LINE HEADER BODY
Mô tả trạng thái (Status text)
resource bodies
Single-resource bodies
Multiple-Độ dài xác định Độ dài không xác định
Trang 25HỌ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 26HỌ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
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
1 Sử dụng các tính năng sẵn có của trình duyệt hoặc ứng dụng.
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, …
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
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
Trang 27HỌ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 28HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CHƯƠNG IV KẾT LUẬN
Chương 1: Tổng quan Về HTTP
Chương 2: Nguyên lý hoạt động
của HTTP
Chương 3: Bản tin HTTP
Ứng Dụng Là những kiến thức căn bản về HTTP, giúp chúng ta có thể tiếp
cận các phiên bản HTTP cao hơn
1 cách dễ dàng
Giao Thức HTTP
Lí Thuyết