Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 56

Chapter 9

Hyper Text
Transfer Protocol

TS. Nguyễn Chí Ngọc


Bộ môn Viễn Thông khoa Điện Điện tử

Introduction 1-1
Nội dung chính
 HTTP Protocol
 HTTP Status Code
 Cache & Web Proxy
 Cookies
 HTML
Giao thức HTTP

 HTTP là giao thức Web


của lớp ứng dụng.
 HTTP (Hyper Text Transfer
Protocol) là giao thức cho
phép Clients và Server
giao tiếp với nhau.
Giao thức HTTP

 Client khởi tạo kết nối TCP


đến server (port 80).
HTTP is “Stateless”
 Server chấp nhận kết nối
Server không giữ bất cứ thông tin yêu cầu
TCP từ client. nào từ phía của client trước đó.
 HTTP messages được trao
đổi giữa server và clients.
 Kết nối TCP được đóng lại.
Kết nối HTTP (HTTP Connection)

 Non-Persistent HTTP.
Nhiều nhất một đối tượng được gửi
trên một kết nối TCP
Persistent HTTP
Nhiều đối tượng có thể được gửi giữa
client và server trên một kết nối TCP.
HTTP Connection (Non-
Persistent HTTP)

Giả sử người dùng nhập một URL: www.dtvt.edu/mmt/home.index


(page chứa 10 ảnh và 1 file html  11 đối tượng)

1.a HTTP client khởi tạo một kết nối TCP


đến HTTP server tại www.dtvt.edu ở port 1.b HTTP server ở host www.dtvt.edu chờ kết
80. nối TCP ở port 80. Chấp nhận kết nối và thông
báo lại cho phía client.
2. HTTP client gửi HTTP Request vào kết
nối TCP Socket. Tin nhắn này chứa đối
tượng mà bên client yêu cầu là 3. HTTP server nhận HTTP Request, tạo HTTP
/mmt/home.index response đối tượng được yêu cầu, và gửi vào
socket.
Time
HTTP Connection (Non-
Persistent HTTP)

4. HTTP server đóng kết nối TCP.

5. HTTP client nhận HTTP response chứa


tập tin html. Phân tích file html

6. Lặp lại bước 1-5 cho mỗi đối tượng.

Time
HTTP Connection (Non-
Persistent HTTP)

Thời gian phản hồi (Response Time)

Định nghĩa về RTT: Là thời gian để một gói


nhỏ đi từ client đến server và quay về lại
client.
Thời gian phản hồi:
 1 RTT để khởi tạo kết nối TCP.
 1 RTT cho http request và http response.
 Thời gian truyền file (transmit time)

Tổng = 2RTT + transmit time.


HTTP Connection (Persistent
HTTP)

 Server vẫn giữ kết nối TCP sau khi đã gửi http
response.
 HTTP message tiếp theo giữa client và server
(cũ) sẽ được gửi qua kết nối trên.
 Client gửi yêu cầu (request) ngay khi gặp một đối
tượng được tham chiếu.
 Tiết kiệm thời gian.
HTTP Messages
 Clients và Servers giao tiếp với nhau bằng cách
trao đổi các tin nhắn (HTTP Messages)
 Tin nhắn từ phía clients (thường là Web Browser)
được gọi là HTTP Requests.
 Tin nhắn được gửi từ Server được gọi là HTTP
Responses.
HTTP Request Message
 ASCII (có thể đọc
được)
 Method: GET, POST,
PUT, DELETE… (In
hoa).
 Path: là phần phía sau
host name (đối tượng
được yêu cầu)
 Version: Phiên bản
HTTP (HTTP/x.y)
 Headers: (tùy chọn)
các thông tin bổ sung.
HTTP Request Message Format
HTTP Response Message

 Version: Phiên bản HTTP


giống phía client đã gửi.
 A status code: Mã trạng thái
 Status message: Tin nhắn
trạng thái (đi kèm với mã
trạng thái).
 Headers: header trả về
đúng yêu cầu bên phía
client.
HTTP Response Message
Format
HTTP Response Status Code.
 1xx: Các status code loại này dùng để đơn giản thông báo với
client rằng server đã nhận được request.
 2xx: Các status code loại này có ý nghĩa rằng request được
server nhận , hiểu và xử lý thành công
 3xx: Các status code loại này có ý nghĩa rằng server sẽ
chuyển tiếp request hiện tại sang một request khác và client
cần thực hiện việc gửi request tiếp theo đó để có thể hoàn tất.
 4xx: Các status code loại này có ý nghĩa rằng đã có lỗi từ
phía client trong khi gửi request. Ví dụ như sai URL, sai HTTP
method, không có quyền truy cập vào trang...
 5xx: Các status code loại này có ý nghĩa rằng đã có lỗi từ
phía server trong khi xử lý request. Ví dụ như databse chết
hoặc server bị hết bộ nhớ...
HTTP Response Status Code.

 200 OK
 301 Moved Permanently
 400 Bad Request
 403 Forbidden / Access Denied
 404 Not Found
 500 Internal Error
 505 HTTP Version Not Supported
WEB PROXY

Định nghĩa:
Proxy là một máy chủ
trung gian giữa máy
khách và internet

Proxy có địa chỉ IP và


cổng truy cập cố định
WEB PROXY

 Tường lửa và lọc dữ liệu mạng


Proxy cung cấp  Chia sẻ và kết nối mạng
các chức năng
 Bộ nhớ đệm dữ liệu
WEB PROXY

Mục đích của proxy:


 Giám sát và lọc dữ liệu
 Cải thiện hiệu suất
 Translation
 Dịch vụ truy cập ẩn danh
 Bảo mật
PROXY

 Giám sát và lọc  Cải thiện hiệu suất  Translation

Máy chủ proxy cho phép Nó buộc chặt dịch Nó giúp tùy chỉnh trang nguồn
thực hiện một số loại lọc vụ bằng cách lấy cho người dùng cục bộ bằng
như: nội dung từ bộ cách loại trừ nội dung nguồn
đệm đã được lưu hoặc thay thế nội dung nguồn
* Lọc nội dung khi khách hàng bằng nội dung gốc cục bộ.
* Lọc dữ liệu được mã yêu cầu trước đó. Trong đó, lưu lượng truy cập từ
hóa người dùng toàn cầu được
* Bỏ qua bộ lọc chuyển đến trang web nguồn
* Ghi nhật ký và nghe lén thông qua proxy dịch.
PROXY

Truy cập dịch vụ


Bảo mật
ẩn danh
Vì máy chủ proxy che
Máy chủ đích
giấu danh tính của người
nhận được yêu
dùng do đó nó bảo vệ
cầu từ máy chủ
khỏi spam và các cuộc
proxy ẩn danh và
tấn công của tin tặc.
do đó không nhận
được thông tin về
người dùng cuối.
WEB PROXY

Các loại proxy server

FORWARD PROXIES
PROXY

OPEN PROXIES
PROXY

REVERSE PROXIES
CACHE

Định nghĩa Các loại caching:

Caching là một kỹ thuật Client caching


lưu trữ dữ liệu được sử Server caching
dụng thường xuyên và Proxy caching
các trang web được lưu Reverse Proxy
trữ tạm thời trên đĩa cứng Caching
cục bộ để phục hồi sau Web server caching
này.
CACHE
Client cache:
caching brower được thực
hiện bằng cách lưu trữ dữ liệu
trong bộ nhớ cache trên đĩa
cứng cục bộ dưới dạng file
tạm thời hoặc trong bộ nhớ
của browser.

 Điều này cho phép truy cập


nhanh một số thông tin giúp
giảm tải mạng và tải máy chủ.

Thông tin này không thể được


chia sẻ bởi các khách hàng
khác.
CACHE
Proxy caching:
 Bộ nhớ đệm proxy sử dụng một
máy chủ chuyên dụng lưu trữ
thông tin bộ đệm ở giữa máy
khách và máy chủ web ở một vị
trí được chia sẻ để tất cả các
máy khách có thể sử dụng cùng
một dữ liệu được chia sẻ.

 Máy chủ proxy (ví dụ: Microsoft


Proxy Server) đáp ứng tất cả các
yêu cầu cho trang web mà
không gửi yêu cầu đến máy chủ
web thực tế qua internet, dẫn
đến truy cập nhanh hơn.
CACHE

Proxy caching ngược:


Giảm số lượng
request mà server
nhận dược.

 Điều này cho phép


proxy server đáp ứng
các yêu cầu thường
xuyên nhận được và
chỉ chuyển các yêu
cầu khác đến máy chủ
web.
CACHE

web server caching:


Trong bộ nhớ đệm
của máy chủ web,
dữ liệu được lưu
trong bộ nhớ cache
được lưu trữ bên
trong máy chủ web.

Bộ nhớ đệm dữ liệu


và bộ đệm trang sử
dụng cơ chế bộ đệm
web sever.
CACHE
Web caching:
Một web cache- còn được gọi
là một proxy server là một
thực thể mạng có nhiệm vụ
đáp ứng các thông điệp yêu
cầu thay cho các web server
nguyên thủy.

web cache có bộ nhớ riêng


và giữ các bản sao của
những đối tượng được yêu
cầu gần nhất trong bộ nhớ
riêng và giữ các bản sao của
những đối tượng được yêu
cầu gần nhất trong bộ nhớ
này.
CACHE
Vd: Giả sử trình duyệt đang yêu cầu đối tượng: http://genk.vn
 
1. Trình duyệt thiết lập một kết nối tcp đến web cache và gửi thông điệp
yêu cầu (request) đến web cache.

2. Web cache kiểm tra xem có bản sao nào của đối tượng đang được
lưu giữ tại Web cache không? Nếu có thì web cache sẽ gửi về trình
duyệt.

3. Nếu Web cache không có đối tượng được yêu cầu, nó sẽ mở một kết
nối TCP đến Web server tại http://genk.vn Kế đến, web cache gửi thông
điệp yêu cầu đối tượng.

4. Khi web cache nhận được đối tượng, nó sao lưu một bản sao của đối
tượng vào bộ nhớ tại web cache, và gửi bản sao (đính kèm thông điệp
phản hồi) đến trình duyệt.
CACHE
Có 2 lí do triển khai web cache:

Web cache có thể giảm thời gian đáp ứng cho


một thông điệp yêu cầu tới từ máy khách.
Điều này càng có ý nghĩa nếu băng thông
Web cache có vai trò: thực tế giữa máy khách và máy chủ ít hơn
vừa là trình chủ vừa là nhiều so với băng thông thực tế giữa máy
trình khách. Thông khách và cache. Nếu kết nối giữa máy khách
thường, các nhà dịch và cache tốc độ cao như thường thấy, và
vụ internet trang bị và cache có sẵn đối tượng được yêu cầu, thì
triển khai web cache. cache sẽ chuyển giao đối tượng đó về máy
khách rất nhanh chóng.

Web cache có thể giảm lưu lượng trên một


liên kết truy cập từ tổ chức (công ty, trường
học...) đến internet
COOKIES
Định nghĩa
 Cookie (hay còn gọi là http cookie, web cookie, Internet cookie)
là những tập tin một trang web gửi đến máy người dùng và được
lưu lại thông qua trình duyệt khi người dùng truy cập trang web
đó.
 Cookie được dùng để ghi nhớ thông tin trạng thái (ví dụ, món
hàng trong giỏ hàng mua sắm trên một trang thương mại điện
tử), ghi nhớ hoạt động người dùng thực hiện trong quá trình truy
cập và duyệt một trang web (ví dụ, những nút bấm hay đường
liên kết người dùng tương tác).
 Cookie cũng được dùng để lưu lại các thông tin khác mà người
dùng nhập hay điền vào trang web như tên, địa chỉ, mật khẩu,
v.v...
Cookie bao gồm 4 thành phần
 Cookie header line of HTTP response message

 Cookie header line in HTTP request message

 Cookie file kept on user’s host, managed by user’s


browser

 Back-end database at Web site


Duy trì trạng thái người dùng
bằng cookie
Một số loại cookie
 Session cookie
 Persistent cookie
 Secure cookie
 Third-party cookie
 Supercookie
 Zombie cookie
Session cookie
 Session cookie chỉ tồn tại trong bộ nhớ tạm thời khi
người dùng duyệt web. Thông thường, trình duyệt sẽ
xóa bỏ cookie khi người dùng ngưng phiên duyệt
web. Không như các loại cookie khác, session cookie
không có thời hạn có hiệu lực
Persitent cookie
 Persistent cookie sẽ hết hiệu lực sau một thời điểm
nào đó được ấn định trước.
 Trong thời gian có hiệu lực của một persistent
cookie, thông tin mà persistent cookie lưu lại sẽ được
gửi đến máy chủ của website mà người dùng truy
cập mỗi khi họ duyệt trang đó, hoặc khi họ truy cập
một nguồn tài nguyên thuộc website thông qua một
website khác (ví dụ, hình ảnh).
Secure cookie
 Secure cookie chỉ có thể được gửi và nhận qua một
kết nối được mã hoá (HTTPS). Các secure cookie
không được gửi và nhận qua một kết nối không mã
hoá (HTTP).
Ứng dụng của cookie
 Quản lý phiên chạy : ghi nhớ trạng thái của người
dùng(tình trạng đăng nhập,..)
 Cá nhân hoá :ghi nhớ các lựa chọn ưa thích mà
người dùng thiết lập khi tương tác với website trước
đó(màu sắc trang nền của website, ngôn ngữ mặc
định.)
 Theo dõi hoạt động:phân tích thói quen duyệt web
(những trang nào thường được người dùng ghé
thăm, với tần suất nào, những sản phẩm, nút bấm
hay đường link nào người dùng dành thời gian xem
hoặc tương tác nhiều nhất...)
HTML LANGUAGE

Hypertext Markup Language


Ngôn ngữ đánh dấu siêu văn bản
Định nghĩa
 HTML là chữ viết tắt của Hypertext Markup
Language. Nó giúp người dùng tạo và cấu trúc các
thành phần trong trang web, phân chia các đoạn văn,
heading, links,…
 HTML không phải là ngôn ngữ lập trình, nó không thể
tạo ra các chức năng “động” được. Nó chỉ giống như
Microsoft Word, dùng để bố cục và định dạng trang
web.
 Đánh dấu (Markup): HTML là ngôn ngữ của các thẻ
đánh dấu - Tag. Các thẻ này xác định cách thức trình
bày đoạn văn bản tương ứng trên màn hình.
Tag trong HTML
Bảng trong HTML

 Bảng HTML được tạo ra bằng


cách sử dụng thẻ <table> trong
đó: thẻ <tr> được sử dụng để
tạo các hàng và thẻ <td> được
sử dụng để tạo các ô.
FORM trong HTML
 Các mẫu form trong HTML được yêu cầu khngười sử
dụng. Ví dụ, khi người sử dụng đăng ký, máy chủ có
thể muốn thu thập i máy chủ muốn thu thập một vài
dữ liệu từ thông tin như tên, địa chỉ email, thẻ tín
dụng….
 Mỗi Form được bao bởi cặp thẻ <form> </form>
Các thuộc tính của Form
Kiểu phần tử trên Form
 Phần tử input

 Phần tử select

 Phần tử textarea

 Phần tử button
Phần tử INPUT

 Hầu hết công việc trên forms thường được hoàn tất với các
phần tử nhập (input).
 Một thẻ input và thuộc tính của nó sẽ quyết định loại phần tử
form nào được hiển thị trên trình duyệt
 Cú pháp:
<input type=“chọn loại phần tử” các thuộc tính cần
thiết: name, value, …>
Một số loại type : Text, Password, Hidden, Submit, Reset,
Checkbox, Radio, File Image
Hình minh họa
Phần tử Select
 Phần tử select dùng để tạo một danh sách liệt kê.
 Được đặt trong cặp thẻ <select> </select> với
một thuộc tính tên
 Trong phần tử này, các thẻ <option> sẽ chỉ ra các
giá trị chọn lựa. Mỗi giá trị có một thuộc tính giá trị
 Ta có thể chọn nhiều hơn một giá trị bằng cách
thêm vào thẻ <select> thuộc tính “multiple”
 Cú pháp:
<select các thuộc tính: size, name, multiple, …>
<option value=số thứ tự hiển thị> giá trị </option>
</select>
Hình minh họa
Phần tử TextArea

 Được sử dụng khi cần nhập vào một đoạn văn bản
gồm nhiều dòng (khối văn bản)
 Được đặt trong cặp thẻ <textarea> </textarea>
 Các thuộc tính cols và rows dùng để thiết lập số cột
và số dòng dùng để hiển thi đoạn văn bản
 Cú pháp
<textarea name, cols, rows> Đoạn văn bản cần
nhập </textarea>
Phần tử TextArea
Phần tử Button
 Button là một phiên bản của nút Submit, nó cho
phép cả văn bản và hình ảnh được đặt trên cùng
một nút
 Được đặt trong cặp thẻ <button> </button>
THANK YOU!

You might also like