Là giao thức truyền tải siêu văn bản nằm ở tầng ứng dụng Application layer,cung cấp các giao thức trực tiếp với người dùng HTTP, SMTP, POP, DHCP,FTPcủa tập giao thức TCP/IP, sử dụng để t
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG I
-TIỂU LUẬN HỌC PHẦN
INTERNET VÀ GIAO THỨC
ĐỀ TÀI TÌM HIỂU VỂ GIAO THỨC HTTP Giảng viên: PGS.TS NGUYỄN TIẾN BAN
Trang 2MỤC LỤC
MỤC LỤC
DANH MỤC HÌNH VẼ
THUẬT NGỮ VIẾT TẮT
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ GIAO THỨC HTTP 3
1.1 Khái niệm giao thức HTTP 3
1.2 HTTPS là gì? 4
1.3 Đặc điểm giao thức HTTP 4
1.4 Giao thức HTTP trong mô hình TCP/IP 5
1.5 Các lỗi thường gặp khi duyệt giao thức HTTP 6
CHƯƠNG 2: KẾT NỐI HTTP 10
2.1 Kết nối không liên tục 10
2.2 Kết nối liên tục 12
CHƯƠNG 3: NGUYÊN LÝ HOẠT ĐỘNG 14
3.1 Client 14
3.2 Server 15
CHƯƠNG 4: CẤU TRÚC BẢN TIN 16
4.1 Bản tin Request 16
4.1.1 Tổng quan bản tin Request 16
4.1.2 Cấu trúc bản tin Request 17
4.2 Bản tin Respond 19
4.2.1 Tổng quan bản tin Respond 19
4.2.2 Cấu trúc bản tin Respond 20
4.3 Type và Length 23
4.3.1 Type 23
4.3.2 Length 24
CHƯƠNG 5: TƯƠNG TÁC NGƯỜI SỬ DỤNG – MÁY CHỦ: COOKIE 25
5.1 Khái niệm Cookies 25
5.2 Công dụng của Cookies trên trình duyệt Web 25
5.3 Ưu và nhược điểm của Cookies 26
Ưu điểm: 26
Trang 35.4 Hoạt động của Cookie trong HTTP 26
CHƯƠNG 6: WEB CACHING 29
6.1 Giới thiệu về Web Cache – Lưu đệm Web 29
6.2 Hoạt động của Web Cache 29
6.3 Lợi ích khi sử dụng Web Cache 30
CHƯƠNG 7: BẢO MẬT TRONG GIAO THỨC HTTP 31
7.1 Đánh cắp thông tin cá nhân 31
7.2 Tấn công dựa trên tên Path và File 31
7.3 Đánh lừa DNS (DNS spoofing) 32
7.4 Vị trí các Header và việc đánh lừa 32
7.5 Ủy nhiệm xác minh 32
7.6 Các sự ủy quyền và việc ghi bộ nhớ ẩn 33
7.7 HTTP và HTTPS 33
KẾT LUẬN 36
LỜI CẢM ƠN 37
Trang 4DANH MỤC HÌNH VẼ
Hình 1.1 Mô hình gửi bản tin request-response giữa client và server 3
Hình 1.2 Ví dụ về địa chỉ URL 4
Hình 1.3 HTTP trong tầng ứng dụng của tập giao thức TCP/IP 5
Hình 1.4 Ví dụ về HTTP 404 7
Hình 1.5 Ví dụ về HTTP 500 8
Hình 1.6 Ví dụ về HTTP 403 8
Hình 2.1 Ví dụ về quá trình truyền tin giao thức HTTP 11
Hình 3.1 Sơ đồ hoạt động của giao thức HTTP 14
Hình 3.2 Cách giao thức HTTP hoạt động 14
Hình 4.1 Ví dụ về bản tin Request 16
Hình 4.2 Ví dụ về bản tin Respond 20
Hình 4.3 Ví dụ minh họa về Response Header 22
Hình 5.1 Cookie giữ trạng thái của người sử sụng Web 26
Hình 6.1 Minh họa cho Web Caching 29
Trang 5THUẬT NGỮ VIẾT TẮT
HTTP Hypertext Transper Protocol Giao thức truyền tin siêu văn bảnHTTPS Hypertext Transper Protocol Secure Giao thức truyền tin siêu văn bản bảo mậtTCP/IP Transmission Control Protocol /
Internet Protocol Bộ giao thức Internet
URL Uniform Resource Locator Định vị tài nguyên
SSL Secure Sockets Layer Lớp bảo vệ các socket
TLS Transport Layer Secure Bảo vệ lớp giao vận
URI Uniform Resource Identifier Định dạng tài nguyên
RTT Round Trip Time Thời gian một vòng truyền tin
MITM Man in the middle attack Tấn công xen giữa
Trang 6MỞ ĐẦU
Hiện nay, mạng Internet đã là một vấn đề bùng nổ toàn cầu Việc xuất hiện mạngInternet đã giúp ích rất nhiều cho đời sống con người Có nhiều giao thức mạngđược sử dụng trong Internet tùy vào mục đích khác nhau và độ tiện dụng của nó.Trong đó phải kể đến giao thức HTTP – Giao thức truyền tin siêu văn bản HTTPđược sử dụng trong các truy nhập Web
Bài Tiểu luận này sẽ trình bày các nội dung như sau:
Chương 1: Nêu các khái niệm về HTTP, cũng như một số đặc điểm của giao thứcnày
Chương 2: Giới thiệu về các loại kết nối HTTP được sử dụng
Chương 3: Trình bày nguyên lý hoạt động khi truyền tin
Chương 4: Giới thiệu về cấu trúc bản tin HTTP và làm rõ các thành phần
Chương 5: Trình bày khái niệm về Cookie cũng như các lợi ích của nó
Chương 6: Khái niệm lưu đệm Web (Web-Cache) và tầm quan trọng của nó.Chương 7: Trình bày các vấn đề bảo mật trong HTTP và phiên bản giao thứcHTTPS
Sự mã hóa thông tin cho phép chúng ta ký hiệu hóa các thông tin hay sử dụng bộ
ký hiệu đã quy ước để biểu diễn bản tin ở dạng phù hợp Chính nhờ mã hóa, chúng
ta có thể nhìn thấy hay hiển thị được thông tin có bản chất là các khái niệm (thôngtin là hiểu biết của con người) Đối với một hệ thống truyền tin, việc mã hóa sẽ chophép tăng tính hữu hiệu và độ tin cậy của hệ thống truyền tin, nghĩa là tăng tốc độtruyền tin và khả năng chống nhiễu của hệ thống
Trong nội dung tiểu luận này trình bày cơ sở lý thuyết và phương pháp xây dựng
mã hiệu tối ưu, mã hiệu chống nhiễu về một số vấn đề như Điều kiện phân tách của
mã hiệu, Giới thiệu về mã hệ thống và mã có dấu phân tách
Bên cạnh nội dung lý thuyết liên quan tới mã hiệu được trình bày ở Chương I, bàitiểu luận còn đề cập đến các lớp trong lớp quang, nằm trong nội dung điều khiển vàquản lý mạng quang sẽ được trình bày trong Chương II
Trang 8CHƯƠNG 1:
TỔNG QUAN VỀ GIAO THỨC HTTP 1.1 Khái niệm giao thức HTTP
HTTP là tên viết tắt của từ Hyper Text Transfer Protocol: Giao thức truyền dẫn
siêu văn bản ra đời vào năm 1990
Là giao thức truyền tải siêu văn bản nằm ở tầng ứng dụng (Application layer),cung cấp các giao thức trực tiếp với người dùng HTTP, SMTP, POP, DHCP,FTP)của tập giao thức TCP/IP, sử dụng để truyền nhận dữ liệu giữa các hệ thống phântán thông qua internet
HTTP được dùng trong www (world wide web) với mục đích tạo nên nền tảng kếtnối giữa client và server bằng cách thực hiện các quá trình Request-Response giữacác hệ thống máy tính khác nhau Quá trình giao tiếp sẽ dựa trên các message (bảntin) độc lập
Giao thức HTTP hoạt động theo mô hình Máy khách – Máy chủ (Client-Server):
Client: Trình duyệt yêu cầu (request), nhận, hiện thị các đối tượng Web, sử
dụng TCP port 80 Đại diện cho bất kỳ loại thiết bị hoặc chương trình nào,
có thể là PC, smartphone…
Server: Gửi các đối tượng để đáp ứng (response) lại yêu cầu của client
Được dùng để chỉ những máy tính trên đám mây
Hình 1.1 Mô hình gửi bản tin request-response giữa client và server
Trang 9HTTP là một giao thức cho phép trao đổi và sử dụng các nguồn tài nguyên khácnhau Trang Web chứa các đối tượng đối tượng có thể là file HTML, hình ảnh
JPEG, ứng dụng Java, file audio (chẳng hạn như HTML doc: một doc hoàn chỉnh
sẽ được tạo nên từ nhiều doc con bao gồm văn bản, layout, media, video, script…)
mỗi đối tượng được xác định bằng địa chỉ URL Trong 1 URL có 4 thành phần:
Protocol: giao thức tầng ứng dụng được sử dụng bởi client và server
Hostname: tên DNS domain
Port: Cổng TCP để server lắng nghe request từ client
Path-and-file-name: Tên và vị trí của tài nguyên yêu cầu
Hình 1.2 Ví dụ về địa chỉ URL
1.2 HTTPS là gì?
Khi tìm hiểu về HTTP, ta sẽ có thể bắt gặp thuật ngữ HTTPS Vậy HTTPS là gì?HTTPS là phiên bản an toàn hơn của HTTP Nó là tên viết tắt của cụm từ
Hypertext Transfer Protocol Secure, nghĩa là giao thức truyền tải siêu văn bản
bảo mật HTTPS hoạt động không khác gì HTTP ngoài việc bổ sung thêm giao thứcSSL(Secure Sockets Layer) và TLS(Transport Layer Secure) nhằm mục đích ngănchặn mọi sự xâm nhập từ bên ngoài Khi một kết nối giữa máy chủ và máy kháchhoạt động, HTTPS sẽ tiến hành xác minh danh tính và nhanh chóng mã hóa cácthông tin trao đổi, tránh trường hợp hacker xâm nhập đánh cắp dữ liệu
1.3 Đặc điểm giao thức HTTP
HTTP có ba đặc điểm nổi bật mà người sử dụng cần quan tâm:
HTTP có thiết kế đơn giản:
Đây cũng là đặc điểm nổi bật nhất của giao thức HTTP Giao thức HTTP là mộtgiao thức có thể dễ dàng hiểu và sử dụng Mục đích xuất hiện của HTTP là tạo ramột công cụ thật thân thiện, có thể được sử dụng dễ dàng bởi mọi đối tượng CácHTTP message đều có cấu tạo rất đơn giản để những người mới sử dụng cũng cóthể đọc hiểu được
Trang 10HTTP có khả năng mở rộng:
HTTP sở hữu tính linh hoạt rất cao Nó không có bất kỳ một giới hạn nào về sựnâng cấp và mở rộng Thậm chí, chỉ cần bằng một thỏa thuận thống nhất giữa client
và server là một tính năng mới của HTTP đã được hình thành
HTTP là stateless (không có trạng thái)
Server và Client biết về nhau chỉ trong một yêu cầu hiện tại Sau đó, cả hai chúng
nó quên tất cả về nhau Bởi mọi phản hồi của HTTP là độc lập nên người dùngkhông thể tạo sự liên kết thông tin giữa các phản hồi được Điều này có thể sẽ trởthành một nhược điểm đối với những trường hợp người dùng cần có các tương tácmạch lạc và bổ trợ cho nhau, ví dụ như shopping cart trên các trang thương mại điệntử
Để khắc phục vấn đề này, HTTP cho phép mở rộng tự do các header Trong đó,người dùng có thể tự tạo cho mình session trên mỗi request nhằm mục đích chia sẻcác ngữ cảnh hoặc trạng thái giữa các request với nhau Sở dĩ trường hợp này có thểthực hiện được vì bản thân HTTP là stateless
1.4 Giao thức HTTP trong mô hình TCP/IP
Hình 1.3 HTTP trong tầng ứng dụng của tập giao thức TCP/IP
Bộ giao thức TCP/IP là một bộ các giao thức truyền thông cài đặt chồng giaothức mà Internet và hầu hết các mạng máy tính thương mại đang chạy trên đó Bộ
Trang 11giao thức này được đặt tên theo hai giao thức chính của nó là TCP (Transmission
Control Protocol - Giao thức điều khiển truyền vận) và IP (Internet Protocol - Giao
thức Internet)
Network Access Layer xác định chi tiết về về cách thức dữ liệu được gửi quamạng, bởi các thiết bị phần cứng trực tiếp giao tiếp với môi trường mạng,chẳng hạn như cáp đồng trục, cáp quang hay dây đồng xoắn đôi Các giaothức bao gồm trong Network Access Layer là Ethernet, Token Ring, FDDI,X.25, Frame Relay
Internet Layer đóng gói dữ liệu vào các gói dữ liệu được biết đến dưới dạng
các gói tin thông giao thức Internet Protocol, chứa địa chỉ nguồn và đích (địa
chỉ logic hoặc địa chỉ IP) được sử dụng để chuyển tiếp các gói tin giữa cácmáy chủ và qua các mạng
Transport Layer là cho phép các thiết bị trên máy chủ nguồn và đích đến trao đổi dữ liệu Transport Layer sẽ xác định mức độ service và trạng thái của kết nối được sử dụng khi vận chuyển dữ liệu.Trong đó có giao thức chính trong
lớp Transport là TCP (Transmission Control Protocol) Sử dụng TCP, các
ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau,
mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự
Các thực thể của lớp Application cung cấp các ứng dụng cho phép người dùng trao đổi dữ liệu ứng dụng qua mạng Một số ứng dụng thường gặp của
chồng giao thức TCP/IP: FTP (File Transfer Protocol), DNS.
1.5 Các lỗi thường gặp khi duyệt giao thức HTTP
Trong quá trình dử sụng Web cũng như giao thức HTTP, người sử dụng có thể gặp một số lỗi cơ bản sau đây:
Trang 12HTTP 404 Not Found
Hình 1.4 Ví dụ về HTTP 404
Lỗi này xảy ra khá phổ biến đối với ngưới sử dụng trong quá trình duyệt Web Khi xảy ra lỗi, có thể nhận được một số phản hồi khác nhau như: Page not found, The requested URL was not found, …
Nguyên nhân xảy ra lỗi này là vì địa chỉ trang web mà bạn truy cập không được tìm thấy trên máy chủ Có thể vấn đề nằm ở tên miền bị lỗi hoặc địa chỉ web bạn soạn thảo bị sai chính tả
Để khắc phục tình trạng này, trước tiên bạn hãy reload lại trang web đó Nếu vẫnlỗi, hay kiểm tra lại lỗi text URL Khi đã chắc chắn rằng URL bạn điền hoàn toànđúng, thử xóa bớt các phân trang đi
Ví dụ có một địa chỉ là: http://abc.com/box1/box2/box3/1/
Nếu bạn hãy xóa phần 1/ đi, đó gọi là đi lùi mức địa chỉ của URL Tương tự, nếubạn xóa thêm box3/ nữa nghĩa là bạn đã lùi 2 mức địa chỉ URL Hãy xóa bớt cácmức địa chỉ đi cho đến khi một trang web không bị lỗi hiện ra
Nếu đã xóa hết các mức rồi mà vẫn không có gì hiện ra thì bạn hãy truy cập thửvào máy chủ Trong trường hợp kia thì sẽ là http://abc.com Bằng cách điền địa chỉtrang web bị lỗi 404 vào thanh tìm kiếm, bạn sẽ biết được lý do tại sao nó xảy ra lỗi
Trang 13HTTP 500 Internet Server Error
Hình 1.5 Ví dụ về HTTP 500
Tương tự như lỗi 404, lỗi 500 cũng làm gián đoạn quá trình truy cập web của bạn.Tuy nhiên, 500 xảy ra là do phía bên máy chủ gặp trục trặc, không phải do kết nốihay đường truyền của bạn Lỗi này thường xảy ra trong thời gian ngắn, vì thế bạn cóthể thử reload lại trang cho đến khi hết lỗi
Nếu reload rồi mà vẫn không được thì bạn chỉ còn cách liên lạc với người quản trịtrang web để hỏi về cách khắc phục
HTTP 403 Forbidden
Hình 1.6 Ví dụ về HTTP 403
Trang 14Lỗi này thường xảy ra khi URL bị sai Bạn nên kiểm tra lại kỹ chính tả trong URL Nếu bạn chắc chắn URL là đúng thì nó có thể do nhầm lẫn của máy chủ Trong trường hợp này bạn buộc phải liên hệ với quản trị viên.
Khi máy chủ đặt ra các giới hạn truy cập vào website con mà bạn lại không nằm trong trường hợp được phép truy cập thì tất nhiên cũng sẽ hiện ra lỗi HTTP 403 Forbidden Riêng trường hợp này không có cách nào có thể khắc phục được cho đếnkhi truy cập của bạn được cấp phép
Trang 15CHƯƠNG 2:
KẾT NỐI HTTP
Dựa trên ứng dụng Internet, truyền thông máy khách và máy chủ có thể kéo dàitrong một khoảng thời gian, với việc máy khách tạo ra một loạt các yêu cầu và máychủ có nhiệm vụ đáp ứng lại các yêu cầu đó Các yêu cầu này được tùy chọn đề cóthể thực hiện đi thực hiện lại một cách theo chu kì hoặc không liên tục Đối vớitương tác máy khác – máy chủ được thực hiện trên kết nối TCP, nhà phát triển ứngdụng cần phải đưa ra quyết định quan trọng về việc sử dụng một trong hai kết nối:
Kết nối liên tục (Non-Persistent Connection): Mỗi cặp <yêu cầu / đáp ứng>được gửi trên một kết nối TCP riêng
Kết nối không liên tục (Persistent Connection): Tất cả các cặp <yêu cầu / đápứng> được gửi trên cùng một kết nối TCP
Ở chế độ mặc định HTTP sử dụng kết nối liên tục, nhưng máy khách và và máychủ HTTP có thể được cấu hình để sử dụng kết nối không liên tục Phần tiếp theo sẽtrình bày rõ hơn về hai loại kết nối này
2.1 Kết nối không liên tục
Quá trình truyền một trang Web từ máy chủ tới khách hàng trong trường hợp sửdụng kết nối không liên tục được mô tả như sau Giả sử trang Web này gồm một tệpHTML cơ sở và 10 hình ảnh JPEG, tổng cộng có 11 đối tượng trên cùng một máychú
URL cho tệp HTML cơ sở ví dụ như:
http://www.abcd.edu/someObject/home.index
Quá trình hoạt động kết nối xảy ra như sau:
1) Client HTTP khởi tạo kết nối TCP tới server HTTP tại www.abcd.edu trêncổng 80, cổng mặc định của HTTP
2) Server HTTP tại trạm chủ www.abcd.edu chờ kết nối TCP ở cổng 80 “Chấpnhận” kết nối và báo cho client Lúc này sẽ có một socket phía máy khác và mộtsocket phía máy chủ
3) Client HTTP gửi một bản tin yêu cầu HTTP (chứa URL) tới server thông quasocket 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 164) Server HTTP nhận bản tin yêu cầu thông qua socket của nó, lấy đối tượng/someObject/home.index, đóng gói đối tượng vào một bản tin đáp ứng HTTP và gửibản tin đáp ứng này vào socket.
5) Server HTTP báo cho TCP đóng kết nối TCP (Nhưng kết nối TCP chỉ thực
sự được đóng cho tới khi chắc chắn rằng client HTTP đã nhận được nguyên vẹn bảntin đáp ứng)
6) Client HTTP nhận bản tin đáp ứng Kết nối TCP kết thúc Bản tin đáp ứngnhận được chứa file html Client hiển thị html ,phân tích cú pháp file html và tìmtham chiếu tới 10 đối tượng JPEG
7) Với mỗi tham chiếu đối tượng JPEG, lặp lại 6 bước bên trên
Các bước ở trên minh hoạ việc sử dụng kết nối không liên tục trong đó mỗi kết nốiTCP sẽ kết thúc ngay sau khi client HTTP nhận được đối tượng đã yêu cầu tươngứng từ server HTTP – kết nối này không liên tục cho những đối tượng khác Mỗikết nối TCP truyền tải chính xác một bản tin yêu cầu và một bản tin đáp ứng tươngứng Vì vậy, đối với ví dụ trên, việc tham chiều tới toàn bộ đối tượng sẽ có 11 kếtnối TCP được tạo ra
Thời gian đáp ứng
Với ví dụ như trên, chúng ta thử xem xét đến khoảng thời gian đáp ứng, tức làkhoảng thời gian bắt đầu từ thời điểm client yêu cầu file HTML cơ sở cho tới khi nónhận được toàn bộ tệp yêu cầu Định nghĩa RTT (Round Trip Time) là thời gian chomột gói tin đi từ client tới server và phản hồi lại cho client RTT gồm có trễ lantruyền gói tin, trễ hàng đợi ở các bộ định tuyến, chuyển mạch trung gian và trễ xử lýgói tin
Trang 17Như vậy, thời gian đáp ứng được mô tả giống như trong Hình 1 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ảngthờ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 ứngHTTP đượ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
Vậy, đối với mỗi tham chiều đối tượng trong trường hợp sử dụng kết nối khôngliên tục, tổng thời gian truyền file bao gồm hai RTT cộng với thời gian truyền dẫnfile HTML từ server tới client
2.2 Kết nối liên tục
Các kết nối không liên tục gặp phải một số thiếu sót như sau:
Phải thiết lập và duy trì kết nối mới cho mỗi đối tượng được yêu cầu Đối vớimỗi kết nối này, cần phải cấp phát bộ đệm TCP và duy trì các biến TCP trên cảclient và server Điều này sẽ tạo gánh nặng cho máy chủ Web vì nó có thể phảiphục vụ yêu cầu cho số lượng lớn các client khác nhau đồng thời
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ốiTCP, một RTT để yêu cầu và nhận đối tượng Điều này gây trễ nhiều thời gian khi
số lượng đối tượng cần tham chiếu lớn
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 tham chiếu
Việc sử dụng kết nối liên tục sẽ khắc phục được những hạn chế đã nêu ở trên vớinhững đặc điểm như sau:
Server phải để kết nối TCP mở sau khi gửi bản tin đáp ứng
Sau đó, các yêu cầu và đáp ứng liên tiếp cùng một client với server có thểgửi trên cùng một kết nối
Nhiều trang Web trong cùng một server có thể được gửi từ server này tớicùng một cùng client mà chỉ qua một kết nối
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
Trang 18 Chỉ cần một RTT cho tất cả đối tượng tham chiếu
Về vấn đề kết thúc một kết nối, server HTTP sẽ đóng một kết nối khi nó khôngđược sử dụng trong một khoảng thời gian nhất định (khoảng thời gian quá hạn này
có khả năng thiết lập) Ở chế độ mặc định, HTTP sử dụng kết nối liên tục
Trang 19CHƯƠNG 3:
NGUYÊN LÝ HOẠT ĐỘNG
Hình 3.8 Sơ đồ hoạt động của giao thức HTTP
Hình 3.1 thể hiện mô hình hoạt động của giao thức HTTP - HTTP hoạt động dựa
trên mô hình Client – Server Trong mô hình này, các máy tính của người dùng sẽ
đóng vai trò làm máy khách (Client) Sau một thao tác nào đó của người dùng, các máy khách sẽ gửi yêu cầu đến máy chủ (Server) và chờ đợi câu trả lời từ những máy chủ này
Trang 20Client gửi một yêu cầu tới Server theo mẫu của một phương thức yêu cầu, URI, vàphiên bản giao thức, được theo bởi một thông báo MIME chứa các bộ chỉnh sửa yêucầu, thông tin Client, và nội dung đối tượng có thể qua một kết nối TCP/IP.
3.2 Server
Server phản hồi với một dòng trạng thái, bao gồm phiên bản giao thức của thông báo và một code thành công hoặc lỗi, theo sau bởi một thông báo MIME chứa thôngtin Server, thông tin thực thể đa phương tiện và nội dung đối tượng có thể
Trang 21CHƯƠNG 4:
CẤU TRÚC BẢN TIN 4.1 Bản tin Request
4.1.1 Tổng quan bản tin Request
HTTP Request Method: Là phương thức để chỉ ra hành động mong muốn được
thực hiện trên tài nguyên đã xác định
Hình 4.1 trình bày cấu trúc của một bản tin HTTP Request:
Một Request-line = Phương thức + URI–Request + Phiên bản HTTP Giao
thức HTTP định nghĩa một tập các giao thức GET, POST, HEAD, PUT Client
có thể sử dụng một trong các phương thức đó để gửi request lên server
Có thể có hoặc không các trường Header
Một dòng trống để đánh dấu sự kết thúc của các trường Header.
Request Header Fields: Các trường header cho phép client truyền thông tin bổ
sung về yêu cầu, và về chính client, đến server Một số trường: Accept-Charset,Accept-Encoding, Accept-Language, Authorization, Expect, From, Host, …
Tùy chọn một thông điệp
Khi bản tin Request đến server, server thực hiện một trong 3 hành động sau:
Server phân tích request nhận được, maps yêu cầu với tập tin trong tập tài liệucủa server, và trả lại tập tin yêu cầu cho client
Server phân tích request nhận được, maps yêu cầu vào một chương trình trênserver, thực thi chương trình và trả lại kết quả của chương trình đó
Request từ client không thể đáp ứng, server trả lại thông báo lỗi
Hình 4.10 Ví dụ về bản tin Request