VVORLD WIDE WEB: HTTP

Một phần của tài liệu GTNHAPMONMANGMAYTINH 01 (Trang 45 - 50)

T ẰNG ỨNG DỤNG •

2.2.VVORLD WIDE WEB: HTTP

Vào đầu thập niên 90 của thế kỷ XX, ứng dụng quan trọng nhất của

Intemet - W o r l d W i d e W e b x uất h i ệ n v à nhanh c h ĩ n g đ ược mọi n g ườ i chấp

nhận. N ĩ thay đổ i c á c h thức t ư ơ n g tác giữa con n g ườ i v à m ơ i t r ườ n g l à m v i ệ c .

2.2.1. Tổng quan về HTTP

H y p e r T e x t T r a n s í e r Protocol ( H T T P ) là giao thức tầng ứ n g dụng của Web. H T T P được t r iển khai t r ê n cả hai p h í a client v à server. C á c t i ế n t r ì n h client v à server t r ê n c á c h ệ thống đầu/cuối k h á c nhau giao t i ế p v ớ i nhau thơng qua v i ệ c trao đổ i c á c t h ơ n g đ iệ p H T T P . H T T P quy định cấu t r ú c thơng đ iệ p c ũ n g n h ư c á c h thức trao đổ i t h ơ n g đ iệ p giữa client v à server. Trước k h i nĩi v ề H T T P , cần nĩi l ạ i c á c thuật n g ữ v ề W e b .

** T r a n g W e b (Webpage - hay c ị n gọi là m ộ t tập tin) chứa c á c đố i t ượn g (Object). Đom g i ả n đố i tượng chỉ là m ộ t file n h ư fíle H T M L , f i l e ảnh JPEG, file ảnh G I F , file j a v a applet, m ộ t đ oạ n â m thanh,... Đố i t ượn g đ ược x á c định qua địa chỉ Ư R L . Trang Web chứa m ộ t fíle H T M L c ơ sở v à tham c h i ê u đ è n các đ ơ i t ượn g k h á c . V í d ụ , m ộ t trang Web chứa m ộ t file H T M L v ă n bản v à 5 đố i t ượn g ảnh JPEG, k h i đ ĩ trang W e b c ĩ 6 đố i tượng gồm Ì fíle v ă n bản H T M L v à 5 file ảnh. File H T M L c ơ sở n à y tham c h i ế u đế n c á c đố i t ượn g k h á c t h ơ n g qua địa chỉ Ư R L . Mỗi địa chỉ U R L c ĩ hai t h à n h phần là t ê n của m á y chủ v à vị trí của đố i t ượn g ữ ê n m á y chủ. V í d ụ m ộ t địa chỉ U R L là:

w w w . someschool.edu/somedepartment/picture.gif

www.someschool.edu là tên m á y chủ; somedepartment/picture.gỉf là đ ườ n g dẫn đố i tượng.

T r ì n h d u y ệ t (Brovvser): C h ư ơ n g trình giao tiêp n g ườ i d ù n g của ứng dụng W e b cho p h é p h iển thị trang Web. Brovvser là p h í a client của giao thức H T T P . H i ệ n nay c ĩ rất n h i ề u phần m ề m t r ì n h duyệt n h ư n g p h ổ b i ế n nhất là Nestcape Communication v à M i c r o s o ữ Internet Explorer. W e b server l ư u g i ữ c á c đố i t ượn g W e b v à đ ược x á c định qua địa chỉ U R L . Phần m ề m W e b server là p h í a server của giao thức H T T P . M ộ t số phần m ề m W e b server p h ổ b i ế n là Apache, M i c r o s o ữ Internet I n í o r m a t i o n Server v à Nestcape Enterprise Server.

H T T P x á c định c á c h thức trình duyệt y ê u cầu trang W e b từ W e b server c ũ n g n h ư c á c h thức server gửi trang Web đ ược y ê u cầu t ớ i t r ì n h duyệt. D ướ i đ â y , sẽ n ĩ i r õ h ơ n v ề q u á t r ì n h trao đổ i giữa client v à server. H ì n h 2.6 m i n h hoa q u á trình n à y . K h i n g ườ i d ù n g y ê u cầu m ộ t đổ i t ượn g (ví d ụ k í c h chuột v à o m ộ t siêu liên k ế t ) , brovvser sẽ gửi t h ơ n g đ iệ p H T T P t ớ i server y ê u cầu đố i t ượn g đ ĩ . Server nhận đ ược y ê u cầu v à trà l ờ i bằng c á c h gửi l ạ i m ộ t t h ơ n g điệ p trả l ờ i chứa đố i t ượn g đ ược y ê u cầu. Cho t ớ i n h ữ n g n ă m 1997, phần l ị n các trình duyệt Web v à Web server t u â n t h ủ p h i ê n bản H T T P Ì .0 (đặc t ả trong RFC 1945). Từ n ă m 1998, m ộ t số brovvser v à W e b server sử dụng p h i ê n bản 1.1 theo k h u y ế n nghị RFC 2616. P h i ê n b ả n m ĩ i n à y t ư ơ n g thích v ớ i p h i ê n bản 1.0, nghĩa là W e b server d ù n g p h i ê n b ả n 1.1 c ĩ t hể "nĩi chuyện" được v ớ i trình duyệt sử d ụ n g p h i ê n b ả n Ì .0 v à n g ược l ạ i .

PC runnỉng 1 S s\ |s Ẽxplorer / t# / > X e Server mnning NCSA VVeb servei Mác running Navigalor Hình 2.6. T ư ơ n g tác client/server C ả p h i ê n bản Ì .0 v à Ì. Ì đề u sử dụng T C P l à m giao thức ở t ầ n g giao v ậ n p h í a d ướ i . H T T P client k hởi tạo m ộ t k ế t n ố i T C P t ớ i H T T P server. Sau k h i thiêt l ậ p đ ược két n ơ i , cả t i ê n trình browser v à W e b server đ ê u truy cập t ớ i T C P t h ơ n g qua socket. N h ư đã trình b à y ở mục 2 . 1 , socket là "cửa" giữa t i ế n t r ì n h ứ n g dụng v à thực t hể TCP, Client gửi t h ơ n g đ iệ p y ê u c ầ u qua socket. Server nhận t h ơ n g đ iệ p y ê u c ầ u n à y v à gửi t h ơ n g đ iệ p trả l ờ i qua socket. Sau k h i gửi t h ơ n g đ iệ p qua socket, t h ơ n g đ iệ p nằm n g o à i t ầ m " k iểm s o á t " của client v à c h í n h thực t hể TCP chịu ữ á c h n h i ệ m chuyển n ĩ sang p h í a b ê n kia. Trong m ụ c 2.1 ta thấy rằng, T C P cung cấp dịch v ụ t r u y ề n t i n cậy cho 48

H T T P , n h ư v ậ y t h ơ n g đ iệ p của t i ế n t r ì n h client sẽ được c h u y ế n t ả i n g u y ê n vẹn đế n server v à n g ược l ạ i . Đ e n đ â y ta đã t h â y đ ược ư u d i ê m của k i ê n t r ú c p h â n tầng. H T T P k h ơ n g g i ả i q u y ế t v i ệ c mất m á t d ữ l i ệ u m à việc n à y là trách n h i ệ m của TCP v à c á c tầng b ê n d ướ i .

TCP sử dụng c ơ c h ế t r á n h tắc n g h ẽ n , cơ c h ế n à y sẽ được n g h i ê n cứu chi t i ế t ở C h ư ơ n g 3. Ở đ â y chỉ cần b i ế t rằng, k h i k ế t n ố i TCP m ớ i k hởi tạo c ơ chế n à y địi hỏi tốc độ t r u y ề n d ữ l i ệ u t ư ơ n g đố i thấp, n h ư n g sẽ t ă n g nhanh

' ' * ' * • khi trên m ạ n g k h ơ n g c ĩ tác n g h ẽ n . G i a i đ oạ n b á t đ â u v ĩ i t ĩ c độ t h á p gọi là giai đ oạ n bắt đầ u c h ậ m (slovv start).

M ộ t c h ú ý quan trọng là, server gửi c á c đố i t ượn g được y ê u cầu cho client m à k h ơ n g ghi l ạ i bất kỳ m ộ t t h ơ n g t i n n à o v ề trạng thái của client. N ế u client y ê u c ầ u l ạ i c ù n g m ộ t đố i tượng, thì server sẽ k h ơ n g t hể trả l ờ i cho client rằng, đố i t ượn g đ ĩ vừa được gửi cho client, server sẽ gửi l ạ i cho client đố i t ượn g đ ĩ n h ư thể n ĩ k h ơ n g b i ế t v i ệ c gửi l ầ n trước. H T T P server k h ơ n g n h ớ c ác t h ơ n g t i n v ề client, v ì t h ế H T T P được gọi là giao thức khơng

trạng thái.

2.2.2. Kết nối liên tục và khơng liên tục (persistenư n o n p e r s i s t e n t )

H T T P hỗ trợ cả hai c á c h k ế t n ố i liên tục v à k h ơ n g liên tục. H T T P Ì .0 sử dụng k ế t n ố i k h ơ n g liên tục. C h ế độ mặc định của H T T P 1.1 là k ế t n ố i liên tục.

ạ) Kết nối khơng liên tục (nonpersistent)

X é t c ác b ướ c client thực h i ệ n để y ê u cầu ừa n g Web từ server trong trường họp sử d ụ n g k ế t n ố i k h ơ n g liên tục. G i ả sử trang Web c ĩ chứa m ộ t file H T M L c ơ sở v à 10 fíle ảnh JPEG, đồng-thời cả 11 đố i t ượn g n à y c ù n g ở trên m ộ t server, địa chỉ của file H T M L n à y là:

w w w . s o m e s c h o o l . e d u / s o m e d e p a r t m e n t / h o m e . i n d e x C á c bước thực h i ệ n n h ư sau:

H T T P client k hởi tạo m ộ t k ế t n ố i TCP t ớ i server c ĩ địa chỉ là www.someschool.edu. c ổ n g 80 là cổng đ ược H T T P server sử d ụ n g để "lắng nghe" c á c y ê u cầu lấy trang Web từ client t h ơ n g qua giao thức H T T P .

H T T P client gửi t h ơ n g đ iệp y ê u c ầ u qua socket t ớ i thực t hể T C P đã được k ế t n ố i ở bước trước. T h ơ n g đ iệ p bao gồm đ ườ n g dẫn somedepartment/home.index (ý nghĩa t h ơ n g đ iệ p sẽ đ ược g i ả i t h í c h ở phần d ướ i ) .

T H T T P server nhận đ ược t h ơ n g đ iệ p y ê u c â u từ socket, lây đơi t ượn g somedepartment/home.index trong b ộ n h ớ của m ì n h ( ổ cứng hoặc R A M ) , đặt đố i t ượn g n à y v à o ữ o n g m ộ t t h ơ n g đ iệ p trả l ờ i v à gửi đi qua socket.

«" H T T P server y ê u cầu thực thể T C P k ế t t h ú c k ế t n ố i ( n h ư n g n ĩ k h ơ n g đ ĩ n g l ạ i thực sự cho đế n k h i client nhận đ ược t h ơ n g đ iệ p ) . • * H T T P client nhận đ ược t h ơ n g đ iệ p trả lịi, k ế t n ố i đ ược đ ĩ n g l ạ i .

T h ơ n g đ iệ p chỉ ra rằng, n ĩ chứa m ộ t đố i t ượn g là í ĩ l e H T M L . Client sẽ lấy f ĩ l e đ ĩ ra từ t h ơ n g đ iệ p trả l ờ i . File H T M L tham c h i ế u đế n 10 đố i t ượn g ảnh JPEG.

N g ườ i ta thấy rằng, 4 b ướ c đầ u được lặp l ạ i cho mỗi đố i t ượn g ảnh đ ược tham c h i ế u ừo n g f ĩ l e H T M L .

K h i nhận được t h ơ n g điệp trả l ờ i c ĩ chứa ừa n g Web, browser sẽ h iển thị trang Web. C á c browser k h á c nhau thì c ĩ t hể c ĩ c á c c á c h h iển thị k h á c nhau đơi v ĩ i c ù n g m ộ t ừa n g Web. H T T P k h ơ n g ả n h h ưởn g gì đ ơ i v ớ i cách h iển thị trang Web của client. C á c đặc tả trong H T T P chỉ đị n h nghĩa giao thức t r u y ề n t h ơ n g giữa t i ế n t r ì n h client v à server m à t h ơ i .

C á c bước ở trên sử dụng c á c h k ế t n ố i k h ơ n g liên tục, vì sau k h i gửi đi m ộ t đố i tượng, server sẽ đ ĩ n g k ế t n ố i TCP l ạ i , k ế t n ố i k h ơ n g đ ược sử dụng để lấy c á c đố i t ượn g k h á c . L ư u ý rằng, mỗi k ế t n ố i T C P c h u yển duy nhất m ộ t t h ơ n g đ iệp y ê u cầu v à m ộ t t h ơ n g đ iệp trả l ờ i . N h ư v ậ y , trong ví d ụ trên client y ê u cầu t o à n b ộ đố i t ượn g trên trang Web thì sẽ c ĩ t hể c ĩ t ớ i l i k ế t n ố i TCP đ ược t h i ế t lập.

Trong v í d ụ ừê n , n g ườ i ta k h ơ n g h ề n ĩ i đế n v i ệ c client n h ậ n đ ược 10 fíle ảnh JPEG qua l o liên k ế t T C P riêng r ẽ hay m ộ t số f i l e đ ược n h ậ n qua c ù n g m ộ t k ế t n ố i . T r ê n thực t ế , n g ườ i d ù n g c ĩ t hể cấu h ì n h cho t r ì n h duyệt đ iề u k h iển m ứ c độ song song của c á c k ế t n ố i . C h ế độ mặc định của t r ì n h duyệt t h ườ n g là từ 5 đế n 10 k ế t n ố i TCP song song, mỗi k ế t n ố i k iểm sốt m ộ t cặp t h ơ n g đ iệ p y ê u cầu/trả l ờ i . N h ư n g n ế u n g ườ i d ù n g k h ơ n g t h í c h thì

ì r r r 9 £

CĨ t hể đặt số k ế t n ố i song song t ố i đ a là Ì, trong t r ườ n g họp n à y , l o két nơi được thiêt lập r i ê n g lẻ. Trong c h ư ơ n g sau c h ú n g ta sẽ t h â y r ă n g , c á c h két n ơ i song song l à m g i ả m t h ờ i gian nhận được k ế t q u ả từ client.

b) Kết nối liên tục

C ĩ m ộ t vài n h ược d i ê m trong két nơi k h ơ n g liên tục. T h ứ nhát, k h i két n ố i m ớ i được tạo ra, p h í a client v à server p h ả i tạo ra v ù n g đệ m TCP (buffer) cũng n h ư l ư u g i ữ c á c b i ế n T C P . Đ iề u n à y c h í n h l à g á n h nặng cho server k h i cĩ n h i ê u client c ù n g y ê u c â u m ộ t lúc.

V ớ i c á c h k ế t n ố i liên tục, server k h ơ n g đ ĩ n g liên k ế t T C P sau k h i gửi thơng điệ p trả l ờ i . C á c t h ơ n g đ iệp y ê u cầu v à trả l ờ i sau đ ĩ (giữa c ù n g m ộ t client v à server) đ ược gửi qua c ù n g m ộ t k ế t n ố i . Trong ví d ụ trên, t o à n bộ đố i tượng trong trang Web ( m ộ t íile H T M L v à 10 file ảnh JPEG) được t r u y ề n n ố i t i ế p nhau t r ê n c ù n g m ộ t k ế t n ố i TCP. N g o à i ra, c ĩ t hể c á c trang Web k h á c trên c ù n g server c ĩ t hể được t r u y ề n qua m ộ t k ế t n ố i TCP. T h ơ n g thường thì H T T P server đ ĩ n g liên k ế t k h i l i ê n k ế t k h ơ n g được sử dụng trong một khoảng t h ị i gian n à o đ ĩ .

C h ế độ l à m v i ệ c mặc định của p h i ê n bản H T T P L I là gửi liên tục. Trong trường hợp n à y , H T T P client gửi y ê u cầu k h i nhận được m ộ t tham c h i ế u (ví d ụ , m ộ t siêu liên k ế t hay tham c h i ế u đế n f ĩ l e ảnh), vì v ậ y client cĩ thê gửi các y ê u c â u liên tiêp. K h i nhận được y ê u c â u thì server sẽ gửi c á c

r t ẽ

đơi tượng nơi tiêp nhau. 2.2.3. Khuơn dạng thơng điệp HTTP

C á c đặc t ả H T T P 1.0 (RFC 1945) v à H T T P 1.1 (RFC 2016) đặc t ả k h u ơ n dạng t h ơ n g đ iệ p H T T P . C ĩ hai k iểu k h u ơ n dạng H T T P là t h ơ n g điệ p yêu cầu v à t h ơ n g đ iệ p trả l ờ i .

à) Thơng điệp yêu cầu HTTP (HTTP request message)

M ộ t t h ơ n g đ iệ p y ê u cầu t h ườ n g c ĩ dạng sau: GE17somedir.page.html HTTP/1.1 Host: www.someschool.edu Connection: close

User-agent: Mozzilla /4.0 Accept-language: Fr

(extra carry return line feed)

Một phần của tài liệu GTNHAPMONMANGMAYTINH 01 (Trang 45 - 50)