lOMoARcPSD| 58511332
Internet và giao thức
Chương 2: Web và HTTP
Nội dung chính
Tổng quan về HTTP
Các kết nối HTTP
Khuôn dạng bản tin
HTTP
Tương tác người s
dụng-máy chủ:
Cookie
Lưu đệm Web
(Web caching)
Cơ chế GET có điều
kiện
lOMoARcPSD| 58511332
Internet và giao thức
WWW- World Wide Web
DÞch vô rÊt phæ biÕn
BiÓu diÔn th«ng n d-íi d¹ng siªu v¨n b¶n HTML
Ho¹t ®éng theo m« h×nh client/server
lOMoARcPSD| 58511332
Internet và giao thức
Tổng quan về
HTTP
lOMoARcPSD| 58511332
Internet và giao thức
HTTP: hypertext transfer
protocol (giao thức truyền siêu
văn bản)
RFC 1945, RFC 2616
giaothứclớpứngdụngcủa Web
Mô hình khách chủ (client/server)
client:trình duyệt yêu cầu (request),
nhận, hiển thị các đối tượng Web
server:Server Web gửi các đối
ợng để đáp ứng (response) lại
yêu cầu của client
Web và HTTP
Trang web chứa các đối tượng (object)
lOMoARcPSD| 58511332
Internet và giao thức
Đối tượng có thể là file HTML, hình ảnh JPEG, ứng dụng
Java, file audio,…
Trang web cha file HTML cơ bản bao gồm nhiều đối tượng
tham chiếu
Mỗi đối tượng được xác định bằng địa chỉ URL Ví dụ về URL:
www.someschool.edu/someDepartment/pic.gif
host name
path name
lOMoARcPSD| 58511332
Internet và giao thức
Các kết nối HTTP
HTTP không có trạng thái
server không duy trì thông
tin về những yêu cầu trước
đó của client
lOMoARcPSD| 58511332
Internet và giao thức
Sử dụng TCP:
1. client khởi tạo kết nối TCP
(tạo socket) tới server, cổng
80
2. server chấp nhận kết nối TCP
từ client
3. Các bản tin HTTP (bản tin
giao thức lớp ứng dụng) đưc
trao đổi giữa trình duyệt
(HTTP client) và server web
(HTTP server)
4. Đóng kết nối TCP
Bên cạnh đó
thì rất phức
tạp!
được lưu trữ
Các giao thc có duy trì trạng
thái
Trng thái cũ (lịch sử)
phi
Nếu server/client bị phá hng,
trng thái có thể không đng
nht phi thống nhất lại
lOMoARcPSD| 58511332
Internet và giao thức
Kết nối HTTP
1: Kết nối không 2: Kết nối liên tục liên tục
Non-persistent HTTP
Nhiều nhất một đi
ợng được gửi qua
một kết nối TCP .
Persistent HTTP
Nhiều đối tượng có thể
được gửi trên một kết
nối TCP giữa client và
server.
HTTP không liên tục (Non persistent HTTP)
Giả sử người sử dụng vào URL
www.someSchool.edu/someDepartment/home.index
lOMoARcPSD| 58511332
Internet và giao thức
1a. Client HTTP khởi tạo kết nối TCP
tới server HTTP (process-tiến trình) ti
www.someSchool.edu trên cổng
80
2. Client HTTP gửi bản tin yêu cầu
HTTP (chứa URL) vào socket kết nối
TCP. Bản in này cho biết client muốn
đối tượng
someDepartment/home.index
5. Client HTTP nhận bản tin đáp ứng chứa file
html, hiển thị html. Phân tích pháp file html,
tìm 10 đối tượng jpeg tham chiếu.
6. Lặp lại các ớc từ 1-5 với từng đối tượng
jpeg đó.
11 đối tượng: Tệp HTML
bản và 10 hình ảnh jpeg
1b. Server HTTP tại trạm chủ
www.someSchool.edu chkết nối TCP
cổng 80. “chấp nhận” kết nối báo cho
client
3. 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ó.
4. Server HTTP đóng kết nối TCP.
time
lOMoARcPSD| 58511332
Internet và giao thức
HTTP không liên tục (Non-Persistent HTTP):
Thời gian áp ng
lOMoARcPSD| 58511332
Internet và giao thức
Định nghĩa RTT: thi gian cho
một gói tin đi từ client đến
server và phản hồi trở lại.
Thời gian đáp ứng:
Một RTT dùng để khởi tạo kết
nối TCP
Một RTT cho yêu cầu HTTP và
một vài byte đầu của đáp ứng
HTTP được phản hồi lại
Thời gian truyền file
Tổng = 2RTT+ thời gian truyền file
lOMoARcPSD| 58511332
Internet và giao thức
HTTP liên tục (Persistent HTTP)
Non-persistent HTTP :
Mỗi đối tượng cn 2
RTT
Mào đầu OS cho mi
kết nối TCP
Các trình duyt
thường mở song song
một số kết nối TCP đ
lấy các đối tưng
tham chiếu
Persistent HTTP
Server để kết nối mở sau khi gửi
đáp ứng
Các bản tin HTTP của cùng cặp
client/server được gửi trên kết nối
mở đó
client gửi các yêu cầu bất cứ khi
nào nó gặp đối tượng tham chiếu
Chcần một RTT cho tất cả các
đối tượng tham chiếu
lOMoARcPSD| 58511332
Internet và giao thức
Khuôn dạng bản tin HTTP
Hai loại bản tin HTTP: request (yêu cầu), response (đáp
ứng) Bản tin yêu cầu HTTP :
ASCII (khuôn dạng mà con người đọc đưc)
Dòng yêu cầu
(các lệnh GET, POST, GET /somedir/page.html HTTP/1.1
HEAD) Host: www.someschool.edu
User-agent: Mozilla/4.0
Các dòng tiêu đề Connection: close
lOMoARcPSD| 58511332
Internet và giao thức
Accept-language:fr
Xuống dòng, (extra carriage return, line feed)
chuyển dòng
chthị kết thúc
bản tin
Lệnh: command
lOMoARcPSD| 58511332
Internet và giao thức
Khuôn dạng chung của bản tin yêu cầu HTTP
Bản tin đáp ứng HTTP
lOMoARcPSD| 58511332
Internet và giao thức
Dòng trạng
thái
(giao thưc
mã trạng
thái
mệnh đề trạng thái)
Các dòng tiêu đề
Dữ liệu, tức HTTP/1.1 200 OK Connection close
Date: Sat, 07 Jul 2007 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Sun, 6 May 2007 09:23:24 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data ... )
Tệp HTML
yêu cầu
lOMoARcPSD| 58511332
Internet và giao thức
Các mã trạng thái phản hồi HTTP
Trong dòng đầu bản tin phản hồi serverclient
Một vài mã mẫu:
200 OK
Yêu cầu thành công, đối tượng yêu cầu xuất hiện phía sau trong bản tin
này.
301 Moved Permanently
Đã bỏ đối tượng yêu cầu, vị trí mới sẽ được đặc tả phía sau trong bản tin
này (Location:)
400 Bad Request
Server không hiểu bản tin yêu cầu 404 Not Found
Tài liệu yêu cầu không tìm thấy trong server này
505 HTTP Version Not Supported
Phiên bản giao thức HTTP yêu cầu không được máy chủ hỗ trợ.
lOMoARcPSD| 58511332
Internet và giao thức
Tương tác người dùng-máy chủ: Cookie
Rất nhiều trang Web sử dụng
cookie.
Các cookie (RFC 2965) cho phép
điểm truy nhập bám vết người sử
dụng.
Bốn thành phần:
1) Dòng header cookie trong bản tin đáp
ứng HTTP
2) Dòng header cookie trong bản tin yêu
cầu HTTP
3) Tệp cookie giữ máy trạm user, do
trình duyệt của user điều khiển
4) sở dữ liệu đầu cuối
(back-end) ở trang Web
Ví dụ:
Susan thường truy nhập
Internet từ PC
Lần đầu vào một trang
thương mại điện tử cụ th
Khi khởi động yêu cầu HTTP
tới trang này thì trang này sẽ
tạo ra:
ID duy nhất
Một mục trong sdữ liu
đầu xa cho ID đó
Cookies: giữ trng thái người sử dụng
lOMoARcPSD| 58511332
Internet và giao thức
client server
lOMoARcPSD| 58511332
Internet và giao thức
cookie: 1678 Hot ebay 8734
động
amazon 1678 usual http response msg
cookie
usual http response msg
cookie file
Một tuần sau:
usual http request msg
cookie: 1678
Hot
động
cookie
p
ruy cậ
T
ebay 8734
usual http request msg
Máy chủ Amazon
mở ID
1678
cho người
sử dụng
Mở mục
usual http response
Set
-
cookie: 1678
ebay 8734
amazon 1678
usual http request msg
Truy cập
Cơ sở
dữ liệu

Preview text:

lOMoAR cPSD| 58511332 Internet và giao thức
Chương 2: Web và HTTP ◼ Nội dung chính ◼ Tổng quan về HTTP ◼ Các kết nối HTTP ◼ Khuôn dạng bản tin HTTP
◼ Tương tác người sử dụng-máy chủ: Cookie ◼ Lưu đệm Web (Web caching) ◼ Cơ chế GET có điều kiện lOMoAR cPSD| 58511332 Internet và giao thức WWW- World Wide Web ◼ DÞch vô rÊt phæ biÕn
◼ BiÓu diÔn th«ng tin d-íi d¹ng siªu v¨n b¶n HTML
◼ Ho¹t ®éng theo m« h×nh client/server lOMoAR cPSD| 58511332 Internet và giao thức Tổng quan về HTTP lOMoAR cPSD| 58511332 Internet và giao thức HTTP: hypertext transfer
protocol (giao thức truyền siêu văn bản) ◼ RFC 1945, RFC 2616
◼ Là giaothứclớpứngdụngcủa Web
◼ Mô hình khách chủ (client/server)
◼ client:trình duyệt yêu cầu (request),
nhận, hiển thị các đối tượng Web
◼ server:Server Web gửi các đối
tượng để đáp ứng (response) lại yêu cầu của client Web và HTTP
Trang web chứa các đối tượng (object) lOMoAR cPSD| 58511332 Internet và giao thức
Đối tượng có thể là file HTML, hình ảnh JPEG, ứng dụng Java, file audio,…
Trang web chứa file HTML cơ bản bao gồm nhiều đối tượng tham chiếu
◼ Mỗi đối tượng được xác định bằng địa chỉ URL ◼ Ví dụ về URL:
www.someschool.edu/someDepartment/pic.gif host name path name lOMoAR cPSD| 58511332 Internet và giao thức Các kết nối HTTP HTTP không có trạng thái
◼ server không duy trì thông
tin về những yêu cầu trước đó của client lOMoAR cPSD| 58511332 Internet và giao thức Sử dụng TCP: Bên cạnh đó 1.
client khởi tạo kết nối TCP thì rất phức
(tạo socket) tới server, cổng Các g tạp! 80
iao thức có duy trì trạng  thái 2.
server chấp nhận kết nối TCP được lưu trữ từ client 
Trạng thái cũ (lịch sử) 3.
Các bản tin HTTP (bản tin phải
giao thức lớp ứng dụng) được
trao đổi giữa trình duyệt Nếu server/client bị phá hỏng, (HTTP client) và server web
trạng thái có thể không đồng (HTTP server)
nhất và phải thống nhất lại 4. Đóng kết nối TCP lOMoAR cPSD| 58511332 Internet và giao thức Kết nối HTTP
1: Kết nối không 2: Kết nối liên tục liên tục
Non-persistent HTTP Persistent HTTP
◼ Nhiều nhất một đối
Nhiều đối tượng có thể
tượng được gửi qua được gửi trên một kết một kết nối TCP . nối TCP giữa client và server.
HTTP không liên tục (Non persistent HTTP)
Giả sử người sử dụng vào URL
www.someSchool.edu/someDepartment/home.index lOMoAR cPSD| 58511332 Internet và giao thức
1a. Client HTTP khởi tạo kết nối TCP
11 đối tượng: Tệp HTML cơ
tới server HTTP (process-tiến trình) tại bản và 10 hình ảnh jpeg
www.someSchool.edu trên cổng 80
2. Client HTTP gửi bản tin yêu cầu 1b. Server HTTP tại trạm chủ
HTTP (chứa URL) vào socket kết nối
www.someSchool.edu chờ kết nối TCP ở
TCP. Bản in này cho biết client muốn
cổng 80. “chấp nhận” kết nối và báo cho đối tượng client someDepartment/home.index
3. 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ó.
5. Client HTTP nhận bản tin đáp ứng chứa file
html, hiển thị html. Phân tích cú pháp file html,
time tìm 10 đối tượng jpeg tham chiếu.
4. Server HTTP đóng kết nối TCP.
6. Lặp lại các bước từ 1-5 với từng đối tượng jpeg đó. lOMoAR cPSD| 58511332 Internet và giao thức
HTTP không liên tục (Non-Persistent HTTP): Thời gian áp ứng lOMoAR cPSD| 58511332 Internet và giao thức
Định nghĩa RTT: thời gian cho
một gói tin đi từ client đến
server và phản hồi trở lại. Thời gian đáp ứng:
◼ Một RTT dùng để khởi tạo kết nối TCP
◼ Một RTT cho yêu cầu HTTP và
một vài byte đầu của đáp ứng
HTTP được phản hồi lại ◼ Thời gian truyền file
Tổng = 2RTT+ thời gian truyền file lOMoAR cPSD| 58511332 Internet và giao thức
HTTP liên tục (Persistent HTTP)
Non-persistent HTTP : Persistent HTTP ◼ Mỗi đối tượng cần 2 RTT ◼
Server để kết nối mở sau khi gửi đáp ứng ◼ Mào đầu OS cho mỗi kết nối TCP ◼
Các bản tin HTTP của cùng cặp
client/server được gửi trên kết nối ◼ Các trình duyệt mở đó thường mở song song một số kết nối TCP đ ◼
client gửi các yêu cầu bất cứ khi
ể nào nó gặp đối tượng tham chiếu lấy các đối tượng tham chiếu ◼
Chỉ cần một RTT cho tất cả các đối tượng tham chiếu lOMoAR cPSD| 58511332 Internet và giao thức Khuôn dạng bản tin HTTP ◼
Hai loại bản tin HTTP: request (yêu cầu), response (đáp
ứng) ◼ Bản tin yêu cầu HTTP : ◼
ASCII (khuôn dạng mà con người đọc được) Dòng yêu cầu (các lệnh GET, POST,
GET /somedir/page.html HTTP/1.1 HEAD)
Host: www.someschool.edu
User-agent: Mozilla/4.0
Các dòng tiêu đề Connection: close lOMoAR cPSD| 58511332 Internet và giao thức Accept-language:fr Xuống dòng,
(extra carriage return, line feed) chuyển dòng chỉ thị kết thúc bản tin Lệnh: command lOMoAR cPSD| 58511332 Internet và giao thức
Khuôn dạng chung của bản tin yêu cầu HTTP Bản tin đáp ứng HTTP lOMoAR cPSD| 58511332 Internet và giao thức Dòng trạng
Dữ liệu, tức HTTP/1.1 200 OK Connection close thái
Date: Sat, 07 Jul 2007 12:00:15 GMT (giao thưc
Server: Apache/1.3.0 (Unix) mã trạng
Last-Modified: Sun, 6 May 2007 09:23:24 GMT thái Content-Length: 6821 mệnh đề trạng thái) Content-Type: text/html Các dòng tiêu đề
(data data data data data ... ) là Tệp HTML yêu cầu lOMoAR cPSD| 58511332 Internet và giao thức
Các mã trạng thái phản hồi HTTP
Trong dòng đầu bản tin phản hồi server→client Một vài mã mẫu: 200 OK
◼ Yêu cầu thành công, đối tượng yêu cầu xuất hiện phía sau trong bản tin này. 301 Moved Permanently
◼ Đã bỏ đối tượng yêu cầu, vị trí mới sẽ được đặc tả phía sau trong bản tin này (Location:) 400 Bad Request
◼ Server không hiểu bản tin yêu cầu 404 Not Found
◼ Tài liệu yêu cầu không tìm thấy trong server này
505 HTTP Version Not Supported
◼ Phiên bản giao thức HTTP yêu cầu không được máy chủ hỗ trợ. lOMoAR cPSD| 58511332 Internet và giao thức
Tương tác người dùng-máy chủ: Cookie
Rất nhiều trang Web sử dụng
4) Cơ sở dữ liệu đầu cuối cookie. (back-end) ở trang Web
Các cookie (RFC 2965) cho phép Ví dụ:
điểm truy nhập bám vết người sử ◼ Susan thường truy nhập dụng. Internet từ PC Bốn thành phần: ◼ Lần đầu vào một trang
thương mại điện tử cụ thể
1) Dòng header cookie trong bản tin đáp ứng HTTP ◼
Khi khởi động yêu cầu HTTP
tới trang này thì trang này sẽ
2) Dòng header cookie trong bản tin yêu tạo ra: cầu HTTP
3) Tệp cookie giữ ở máy trạm user, do ◼ ID duy nhất
trình duyệt của user điều khiển ◼
Một mục trong cơ sở dữ liệu đầu xa cho ID đó
Cookies: giữ trạng thái người sử dụng lOMoAR cPSD| 58511332 Internet và giao thức client server lOMoAR cPSD| 58511332 Internet và giao thức ebay 8734 Máy chủ Amazon usual http request msg mở ID cookie file usual http response 1678 cho người
Set - cookie: 1678 sử dụng Mở mục ebay 8734 amazon 1678 usual http request msg cookie: 1678 Hoạt ruy c T p ậ động usual http response msg Cơ sở cookie dữ liệu Một tuần sau: Truy cập usual http request msg
cookie: 1678 Hoạt ebay 8734 động amazon 1678 usual http response msg cookie