tài liệu http tiếng việt
DESCRIPTION
Tài Liệu HTTP Tiếng Việt online từ cơ bản đến nâng caoTRANSCRIPT
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 1
Mc lc Gii thiu v giao thc HTTP ................................................................................................ 5
i vi c gi ...................................................................................................................... 6
iu kin tin ................................................................................................................... 6
Tng quan v HTTP ............................................................................................................. 6
Cc c trng c bn ....................................................................................................... 6
Cu trc c bn ................................................................................................................ 7
Client ........................................................................................................................... 8
Server ......................................................................................................................... 8
Cc tham s trong HTTP ...................................................................................................... 8
Phin bn HTTP ............................................................................................................... 8
V d ............................................................................................................................ 8
Uniform Resource Identifiers - B nhn din ngun ti nguyn ng nht ......................... 9
V d ............................................................................................................................ 9
Cc nh dng Ngy/Thi gian ......................................................................................... 9
Cc b k t ..................................................................................................................... 9
V d ............................................................................................................................ 9
M ha ni dung ............................................................................................................. 10
V d .......................................................................................................................... 10
Cc kiu a phng tin (media types) .......................................................................... 10
V d .......................................................................................................................... 11
Cc th ngn ng ........................................................................................................... 11
V d .......................................................................................................................... 11
Message trong HTTP ......................................................................................................... 11
Dng u thng bo (start-line) ....................................................................................... 12
Cc trng Header ........................................................................................................ 13
Phn thn thng bo ...................................................................................................... 14
Yu cu (Request) trong HTTP .......................................................................................... 14
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 2
Dng Yu cu ................................................................................................................. 15
Method yu cu .............................................................................................................. 15
Request-URI ................................................................................................................... 16
Cc trng Header Yu cu .......................................................................................... 17
Cc v d ca Thng bo Yu cu .................................................................................. 19
Phn hi (Response) trong HTTP ....................................................................................... 20
Dng trng thi ............................................................................................................... 20
Phin bn HTTP ............................................................................................................. 21
M ha trng thi ............................................................................................................ 21
Cc trng Header Phn hi .......................................................................................... 22
Cc v d v Thng bo Phn hi ................................................................................... 22
Phng thc trong HTTP ................................................................................................... 24
Phng thc GET .......................................................................................................... 25
Phng thc HEAD ....................................................................................................... 26
Phng thc POST ....................................................................................................... 27
Phng thc PUT .......................................................................................................... 28
Phng thc DELETE ................................................................................................... 29
Phng thc CONNECT ............................................................................................... 29
Phng thc OPTIONS ................................................................................................. 30
Phng thc TRACE ..................................................................................................... 30
M ha trng thi trong HTTP ............................................................................................. 31
1xx: Thng tin ................................................................................................................. 32
2xx: Thnh cng ............................................................................................................. 32
3xx: S iu hng li .................................................................................................... 33
4xx: Li Client .................................................................................................................. 34
5xx: Li Server ................................................................................................................ 36
Cc trng Header trong HTTP ......................................................................................... 36
General Header .............................................................................................................. 37
Trng Cache-Control ........................................................................................... 37
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 3
Trng Connection ................................................................................................ 40
Trng Date ............................................................................................................ 40
Trng Pragma....................................................................................................... 41
Trng Trailer ......................................................................................................... 41
Trng Transfer-Encoding (M ha truyn ti) ................................................. 41
Trng Upgrade ..................................................................................................... 41
Trng Via ............................................................................................................... 42
Trng Warning (Cnh bo) ................................................................................ 42
Cc trng Header yu cu trn Client........................................................................... 42
Trng Accept (Chp nhn) ................................................................................. 42
Trng Accept-Charset ......................................................................................... 43
Trng Accept-Encoding ...................................................................................... 43
Trng Accept-Language ..................................................................................... 43
Trng Authorization (S y quyn) ................................................................... 44
Trng Cookie ........................................................................................................ 44
Trng Expect ........................................................................................................ 44
Trng From ........................................................................................................... 44
Trng Host ............................................................................................................ 45
Trng If-Match ...................................................................................................... 45
Trng If-Modified-Since ...................................................................................... 45
Trng If-None-Match ........................................................................................... 46
Trng If-Range ..................................................................................................... 46
Trng If-Unmodified-Since ................................................................................. 46
Trng Max-Forwards ........................................................................................... 47
Trng Proxy-Authorization .................................................................................. 47
Trng Range ......................................................................................................... 47
Trng Referer ....................................................................................................... 48
Trng TE ............................................................................................................... 48
Trng User-Agent ................................................................................................ 49
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 4
Cc trng Phn hi t Server ....................................................................................... 49
Trng Accept-Ranges ......................................................................................... 49
Trng Age ............................................................................................................. 49
Trng ETag ........................................................................................................... 50
Trng Location ..................................................................................................... 50
Trng Proxy-Authenticate ................................................................................... 50
Trng Retry-After ................................................................................................. 51
Trng Server ......................................................................................................... 51
Trng Set-Cookie ................................................................................................. 51
Trng Vary ............................................................................................................ 52
Trng WWW-Authenticate .................................................................................. 53
Entity Headers ................................................................................................................ 53
Trng Allow ........................................................................................................... 53
Trng Content-Encoding .................................................................................... 53
Trng Content-Language ................................................................................... 54
Trng Content-Length ......................................................................................... 54
Trng Content-Location ...................................................................................... 54
Trng Content-MD5 ............................................................................................. 55
Trng Content-Range ......................................................................................... 55
Trng Content-Type ............................................................................................ 56
Trng Expires ....................................................................................................... 56
Trng Last-Modified ............................................................................................ 56
Caching trong HTTP ........................................................................................................... 56
M ha URL trong HTTP .................................................................................................... 59
Bo mt trong HTTP ........................................................................................................... 66
S r r thng tin c nhn ................................................................................................ 66
S tn cng da trn cc tn Path v File ...................................................................... 67
Vic nh la DNS (DNS Spoofing) ............................................................................... 67
V tr cc Header v vic nh la ................................................................................... 68
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 5
y nhim xc minh ......................................................................................................... 68
Cc s y quyn v vic ghi vo b nh n ................................................................... 68
V d v Message trong HTTP ............................................................................................ 68
V d 1 ............................................................................................................................ 68
Client yu cu: ......................................................................................................... 68
Server phn hi: ...................................................................................................... 69
V d 2 ............................................................................................................................ 69
Client yu cu .......................................................................................................... 69
Server phn hi ....................................................................................................... 69
V d 3 ............................................................................................................................ 70
Client yu cu .......................................................................................................... 70
Server phn hi ....................................................................................................... 70
V d 4 ............................................................................................................................ 71
Client yu cu .......................................................................................................... 71
Server phn hi ....................................................................................................... 71
Ti liu tham kho v HTTP ................................................................................................ 72
Cc ng link hu ch v HTTP ................................................................................... 72
Gii thiu v giao thc HTTP HTTP l vit tt ca Giao thc truyn ti siu vn bn (Hypertext Transfer Protocol) l mt giao
thc cp ng dng cho cc h thng thng tin phn phi, cng tc v a phng tin. y l
nn tng cho giao tip thng tin cho World Wide Web (v d: Internet) t 1990. HTTP l mt giao
thc chung v stateless m c th c s dng cho cc mc ch khc cng nh cc s m
rng ca cc phng thc yu cu, cc code li v Header ca n.
Phn hng dn ny c xy dng trn c s cc chi tit k thut RFC-2616, m xc nh giao
thc c lin quan nh HTTP/1.1. HTTP/1.1 l mt phin bn ca HTTP ban u (HTTP/1.0). S
khc bit ln gia HTTP/1.0 v HTTP/1.1 l HTTP/1.0 s dng mt kt ni mi cho mi Yu
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 6
cu/Phn hi trao i, trong khi kt ni trong HTTP/1.1 c th c s dng cho mt hoc
nhiu Yu cu/Phn hi trao i.
Lot bi hng dn ca chng ti da trn ngun ti liu ca: Tutorialspoint
i vi c gi Phn hng dn ny c chun b cho cc hc vin nghin cu v khoa hc my tnh v cc
nh pht trin web gip h c kin thc c bn v cc khi nim cc mc pht trin ca
HTTP.
iu kin tin Trc khi tin hnh hc tp vi phn hng dn ny, n l tt cho bn khi bn c mt s hiu bit
c bn v cc khi nim web, cc trnh duyt web, cc Server, v phn mm xy dng trn c s
cu trc Server-Client.
Tng quan v HTTP HTTP l mt giao thc cp ng dng cho cc h thng thng tin phn phi, cng tc, a
phng tin. y l nn tng cho giao tip d liu cho WWW (v d: Internet) t 1990. HTTP l
mt giao thc chung v stateless m c th c s dng cho cc mc ch khc cng nh cc
s co gin ca cc phng thc yu cu, cc code li v Header ca n.
Theo c bn, HTTP l mt giao thc giao tip trn c s TCP/IP, m c s dng phn phi
d liu (cc tp HTML, cc file nh, ) trn WWW. Cng mc nh l TCP 80, nhng cc cng
khc cng c th c s dng. N cung cp mt cch c tiu chun ha cho cc my tnh
giao tip vi nhau. Chi tit k thut HTTP xc nh cch m d liu yu cu ca Client s c xy
dng v c gi ti Server, v cch Server phn hi cc yu cu ny.
Cc c trng c bn C 3 c trng c bn m lm HTTP tr thnh mt giao thc n gin nhng y sc mnh:
HTTP l giao thc connectionless (kt ni khng lin tc): Client ca HTTP, v d: mt
trnh duyt khi to mt yu cu HTTP v sau mt yu cu c to ra, Client ngt kt
ni t Server v i cho mt phn hi. Server x l yu cu v thit lp li s kt ni vi
Client gi phn hi tr li.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 7
HTTP l mt phng tin c lp: N ngha l, bt k loi d liu no cng c th c
gi bi HTTP min l Server v Client bit cch kim sot ni dung d liu. N c
yu cu cho Client cng nh Server xc nh kiu ni dung bi s dng kiu MIME thch
hp.
HTTP l stateless: Nh c cp trn, HTTP l connectionless v n mt kt qu
trc tip l HTTP tr thnh mt giao thc Stateless. Server v Client bit v nhau chi trong
mt yu cu hin ti. Sau , c hai chng n qun tt c v nhau. Do bn cht ca giao
thc, c Client v cc trnh duyt c th gi li thng tin gia cc yu cu khc nhau gia
cc trang web.
HTTP/1.0 s dng mt kt ni mi cho mi trao i Yu cu/Phn hi (Request/Reponse), trong
khi m kt ni ca HTTP/1.1 c th c s dng cho mt hoc nhiu trao i Yu cu/Phn hi.
Cu trc c bn S di y ch cu trc rt n gin ca mt ng dng web v miu t v tr ca HTTP:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 8
Giao thc HTTP l mt giao thc Yu cu/Phn hi da trn cu trc Client/Server, ni m cc
trnh duyt web, cc thit b tm kim, hot ng nh cc Client, v cc Server web hot ng
nh mt Server.
Client
Client gi mt yu cu ti Server theo mu ca mt phng thc yu cu, URI, v phin bn giao
thc, c theo bi mt thng bo MIME cha cc b chnh sa yu cu, thng tin Client, v ni
dung i tng c th qua mt kt ni TCP/IP.
Server
Server phn hi vi mt dng trng thi, bao gm phin bn giao thc ca thng bo v mt code
thnh cng hoc li, theo sau bi mt thng bo MIME cha thng tin Server, thng tin thc th a
phng tin v ni dung i tng c th.
Cc tham s trong HTTP Chng ny lit k mt s cc Tham s giao thc HTTP v c php ca chng m theo chng
c s dng trong giao tip. V d, nh dng ngy thng, nh dng URL, . iu ny s gip
bn trong vic xy dng yu cu ca bn v cc thng tn phn hi trong khi vit cc chng trnh
Client hoc Server. Bn s thy s hu ch hon ton ca nhng tham s ny trong cc chng
k tip trong khi hc tp v cu trc thng bo cho cc yu cu v cc phn hi HTTP.
Phin bn HTTP HTTP s dng mt s nh s . ch phin bn ca giao thc. Phin bn
ca mt thng bo HTTP c ch bi mt trng HTTP-Version trong dng u tin. Ti y l c
php chung ca vic xc nh s phin bn HTTP:
HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT
V d
HTTP/1.0
or
HTTP/1.1
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 9
Uniform Resource Identifiers - B nhn din ngun ti nguyn ng nht URI l mt chui c nh dng, nhy cm vi ch hoa-thng (case-insentive) theo mt cch
n gin cha tn, v tr,.. xc nh mt ngun, v d, mt website, mt dch v web, . Mt c
php chung ca URI c s dng cho HTTP nh sau:
URI = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
y, nu port l trng hoc khng c cung cp, th port 80 c cho l cho HTTP v
mt abs_path trng l tng ng vi mt abs_path l /. Cc k t khc trong cc b thit
lp reserved v unsafe l tng ng vi m ha % HEX HEX ca chng.
V d
Di y l 3 v d v URI m tng ng nhau:
http://abc.com:80/~smith/home.html
http://ABC.com/%7Esmith/home.html
http://ABC.com:/%7esmith/home.html
Cc nh dng Ngy/Thi gian Tt c cc nhn Ngy/Thi gian HTTP Phi c biu din trong Greenwich Mean Time (GMT),
khng c s ngoi tr. Cc ng dng HTTP c cho php s dng 3 nhn i din Ngy/Thi
gian sau:
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
Cc b k t Chng ta s dng cc b k t xc nh cc thit lp k t m Client a thch. Nhiu b thit lp
k t c th c lit k ring bit bi cc du phy. Nu mt gi tr l khng c xc nh, mc
nh l US-ASII.
V d
Di y l cc b k t c hp l:
US-ASCII
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 10
or
ISO-8859-1
or
ISO-8859-7
M ha ni dung Mt gi tr m ha ni dung ch rng mt thut ton m ha c s dng m ha ni dung
trc khi truyn n ti mng. M ha ni dung c s dng ln u cho php mt ti liu
c nn hoc ngoi ra c truyn ti m khng tht lc s nhn din.
Tt c cc gi tr m ha ni dung l khng phn bit kiu ch (case-insensitive). HTTP/1.1 s
dng cc gi tr m ha ni dung trong cc trng Accept-Encoding v Content-EncodingHeader
m chng ta s quan st trong cc chng k tip.
V d
Di y l cc s m ha hp l:
Accept-encoding: gzip
or
Accept-encoding: compress
or
Accept-encoding: deflate
Cc kiu a phng tin (media types) HTTP s dng cc Kiu phng tin Internet trong cc trng Content-Type v Accept cung
cp d liu m v c th m rng. Tt c cc gi tr kiu phng tin c ng k vi IANA
(Internet Assigned Number Authority). C php chung xc nh kiu phng tin nh sau:
media-type = type "/" subtype *( ";" parameter )
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 11
Cc thuc tnh type, subtype, v parameter l case-insensitive.
V d
Accept: image/gif
Cc th ngn ng HTTP s dng cc th ngn ng trong cc trng Accept-Language v Content-Language. Mt
th ngn ng bao gm mt hoc nhiu phn: Mt th ngn ng s cp v mt dy cc th ph:
language-tag = primary-tag *( "-" subtag )
Cc khong trng khng c cho php trong th v tt c cc th l case-insentive.
V d
Cc th v d bao gm:
en, en-US, en-cockney, i-cherokee, x-pig-latin
Hai ch primary-tag l mt ch vit tt cho ngn ng trong ISO-639 v hai k t u tin trong th
ph subtag l m quc gia.
Message trong HTTP HTTP c xy dng trn c s m hnh cu trc Client-Server v giao thc Stateless cc Yu
cu/Phn hi m iu hnh bi vic trao i cc thng bo (Message) dc theo mt kt ni
TCP/IP.
Mt Client l mt chng trnh (mt trnh duyt hoc bt k Client) m thit lp mt kt ni ti mt
Server cho mc ch gi mt hoc nhiu thng bo yu cu HTTP. Mt HTTP Server l mt
chng trnh (hiu theo cch chung l mt Server web nh Apache Server web hoc Internet
Information Services IIS ) m chp nhn cc kt ni phc v cc yu cu HTTP bi vic gi
cc thng bo phn hi HTTP.
HTTP s dng URI nhn din mt ngun cho v thit lp mt kt ni. Mt khi mt kt ni
c thit lp, Cc Thng bo HTTP c truyn trong mt nh dng tng t nh c s
dng trong th in t Internet Mail [RFC5322] v MIME (Multipurpose Internet Mail Extensions)
[RFC2045]. Cc thng bo ny bao gm cc Yu cu t Client ti Server v cc Phn hi t
Server ti Client m s theo nh dng sau:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 12
HTTP-message = | ; HTTP/1.1 messages
Cc yu cu HTTP v cc phn hi HTTP s dng mt nh dng thng bo chung ca RFC 822
cho truyn tri d liu c yu cu. nh dng thng bo chung ny bao gm 4 mc:
Mt dng u tin
Khng hoc nhiu trng Header theo sau bi CRLF.
Mt dng trng (v d: mt dng m khng c g trc CRLF), ch phn cui ca trng
Header.
Mt thn thng bo ty
Trong cc mc tip theo, chng ta s gii thch tng mc c s dng trong thng bo HTTP.
Dng u thng bo (start-line) Mt dng u s c c php chung nh sau:
start-line = Request-Line | Status-Line
Chng ta s bn lun Request-Line v Status-Line trong khi tho lun v cc thng bo Yu cu
HTTP v Phn hi HTTP tng ng. By gi, chng ta xem xt mt s v d v dng bt u trong
trng hp yu cu v phn hi
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 13
GET /hello.jsp HTTP/1.1 (This is Request-Line sent by the client)
HTTP/1.1 200 OK (This is Status-Line sent by the server)
Cc trng Header Cc trng Header cung cp thng tin c yu cu v yu cu hoc phn hi, hoc v i tng
c gi trong thn thng bo. C 4 kiu ca Header trong cc thng bo HTTP:
Kiu chung (General-Header): Cc trng Header ny c kh nng ng dng chung cho
c cc thng bo yu cu v phn hi.
Kiu yu cu (Request-Header): Cc trng Header ny ch c kh nng p dng cho cc
thng bo yu cu.
Kiu phn hi (Response-Header): Cc trng Header ny ch c kh nng p dng cho
cc thng bo phn hi.
Kiu thc th (Entity-Header): Cc trng ny xc nh thng tin v thn-thc th hoc,
nu khng c phn thn no hin th, v ngun c nhn din bi yu cu.
Tt c cc Header c cp trn theo mt nh dng chung v mi mt trng Header bao
gm mt tn c theo sau bi mt du hai chm (:) v gi tr trng nh sau:
message-header = field-name ":" [ field-value ]
Di y l v d v cc trng Header a dng:
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 14
Phn thn thng bo Phn thn thng bo l ty cho mt thng bo HTTP nhng nu n l c sn, th khi n c
s dng mang phn thn c lin kt vi yu cu hoc phn hi. Nu phn thn thc th
c lin kt, th sau thng cc dng Content-Type v Content-Length xc nh bn cht ca
phn thn c lin kt.
Mt phn thn thng bo l phn m mang d liu yu cu HTTP thc s (bao gm d liu mu
v c ti ln,) v d liu phn hi HTTP t Server (bao gm cc file, nh, ). Di y l ni
dung n gin ca mt phn thn thng bo:
Hello, World!
Hai chng ti chng ta s bn v cch s dng ca cc khi nim c gii thch chun b
Cc yu cu HTTP v Cc phn hi HTTP.
Yu cu (Request) trong HTTP Mt Client gi mt yu cu HTTP ti mt Server trong mu mt thng bo yu cu m bao gm
nh dng sau:
Mt dng yu cu
Khng hoc nhiu hn trng Header (General|Request|Entity) c theo sau bi CRLF.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 15
Mt dng trng (v d: mt dng khng c g ng trc CRLF) ch phn kt thc ca
trng Header.
Mt phn thn thng bo ty
Cc phn di gii thch cch s dng ca mi i tng trong thng bo yu cu HTTP.
Dng Yu cu Dng Yu cu bt u vi mt th tc method, c theo sau bi mt Request-URI v phin bn
giao thc, v kt thc vi CRLF. Cc yu t c phn bit ring r bi cc k t khong trng
SP.
Request-Line = Method SP Request-URI SP HTTP-Version CRLF
Di y tho lun v mi phn c cp trong Dng Yu cu.
Method yu cu method yu cu ch phng thc c thc hin trn ngun c nhn din biRequest-
URI cung cp. Method l case-intensive v nn lun lun c cp trong ch hoa. Bng
di y lit k tt c cc method c h tr trong HTTP/1.1.
STT Phng thc v Miu t
1 GET
GET c s dng ly li thng tin t Server cung cp bi s dng
mt URI cung cp. Cc yu cu s dng GET nn ch nhn d liu v
nn khng c nh hng g ti d liu.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 16
2 HEAD
Tng t nh GET, nhng n truyn ti dng trng thi v khu vc
Header.
3 POST
Mt yu cu POST c s dng gi d liu ti Server, v d, thng tin
khch hng, file ti ln, , bi s dng cc mu HTML.
4 PUT
Thay i tt c cc i din hin ti ca ngun mc tiu vi ni dung c
ti ln.
5 DELETE
G b tt c cc i din hin ti ca ngun mc tiu bi URI.
6 CONNECT
Thit lp mt tunnel ti Server c xc nh bi URI cung cp.
7 OPTIONS
Miu t cc chc nng giao tip cho ngun mc tiu.
8 TRACE
Trnh by mt vng lp kim tra thng bo song song vi path ti ngun
mc tiu.
Request-URI Request-URI l mt B nhn din Ngun ng nht (URI) v xc nh ngun m p dng yu cu.
Di y l cc mu thng c s dng xc nh mt URI:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 17
Request-URI = "*" | absoluteURI | abs_path | authority
STT Phng thc v Miu t
1 Mt du * c s dng khi mt yu cu HTTP khng p dng ti
mt ngun c th, nhng ti chnh Server , v ch c cho php
khi phng thc c s dng khng cn thit p dng ti mt
ngun. V d:
OPTIONS * HTTP/1.1
2 absoluteURI c s dng khi mt yu cu HTTP ang c to ra
cho mt s y nhim. S y nhim c yu cu chuyn ti yu cu
hoc dch v t mt cache hiu lc, v tr li phn hi. V d:
GET http://www.w3.org/pub/WWW/TheProject.jspl HTTP/1.1
3 Mu ph bin nht ca Request-URI c s dng xc nh mt
ngun trn mt Server hoc gateway ban u. V d, mt Client mong
mun ly c mt ngun mt cch trc tip t Server ban u s
to mt kt ni TCP ti port 80 ca host www.w3.org v gi cc dng
sau:
GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
Ghi ch rng, ng truyn tuyt i khng th l trng rng; nu khng g
c trnh by trong URI ban u, n Phi c cung cp nh l /
(Server root).
Cc trng Header Yu cu Chng ta s hc General-Header v Entity-Header trong mt chng ring khi chng ta s hc v
cc trng Header. By gi, chng ta xem cc trng Header yu cu l g:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 18
Cc trng Request-Header cho php Client truyn thng tin thm v yu cu, v v chnh Client
, ti Server. Nhng trng ny hot ng nh cc b chnh sa yu cu. Di y l mt danh
sch cc trng Request-Header quan trng m c th c s dng da trn s yu cu:
Accept-Charset
Accept-Encoding
Accept-Language
Authorization
Expect
From
Host
If-Match
If-Modified-Since
If-None-Match
If-Range
If-Unmodified-Since
Max-Forwards
Proxy-Authorization
Range
Referer
TE
User-Agent
Bn c th t to cc trng cho mnh trong trng hp bn ang vit Client v Server cho ring
mnh.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 19
Cc v d ca Thng bo Yu cu By gi chng ta t tt c nhng th hc trn cng vi nhau to mt yu cu HTTP
ch th trang hello.htm t Server chy trn tutorialspoint.com.
GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Ti y chng ta khng gi bt c yu cu d liu ti Server bi v chng ta ang ch th mt trang
thun HTML t Server. Kt ni l General-Header, v phn cn li ca Header l cc Header yu
cu. V d sau y ch cch gi d liu mu ti Server bi s dng phn thn thng bo yu
cu:
POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
licenseID=string&content=string&/paramsXML=string
y, URl c cung cp /cgi-bin/process.cgi s c s dng x l d liu c truyn v
theo , mt phn hi s c tr li. y content-type ni cho Server rng d liu c truyn
l mt d liu mu web n gin v length s l di thc ca d liu t trong phn thn thng
bo. V d sau ch cch bn c th truyn XML thun ti Server ca bn.
POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 20
Connection: Keep-Alive
string
Phn hi (Response) trong HTTP Sau khi nhn v phin dch mt thng bo yu cu, mt Server gi tn hiu phn hi vi mt thng
bo phn hi HTTP.
Mt dng trng thi (Status-Line)
Khng hoc nhiu hn cc trng Header (General|Response|Entity) c theo sau bi
CRLF.
Mt dng trng (v d: mt dng m khng c g ng trc CRLF) ch phn kt thc ca
cc trng Header.
Mt phn thn thng bo ty .
Cc khu vc di y gii thch cch s dng ca mi i tng trong mt thng bo phn hi
HTTP.
Dng trng thi Mt dng trng thi bao gm phin bn giao thc c theo sau bi mt m ha trng thi s v
cm t thun vn bn c lin kt ca n.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 21
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Phin bn HTTP Mt Server h tr phin bn HTTP/1.1 s tr li thng tin phin bn nh sau:
HTTP-Version = HTTP/1.1
M ha trng thi Yu t Status-Code l mt s nguyn 3 k t, trong k t u tin ca m ha trng thi nh
ngha hng (loi) phn hi v hai k t cui khng c bt c vai tr phn loi no. C 5 gi tr ca
k t u tin:
STT M v miu t
1 1xx: Thng tin
N ngha l yu cu c nhn v tin trnh ang tip tc.
2 2xx: Thnh cng
N ngha l hot ng c nhn, c hiu, v c chp nhn mt
cch thnh cng.
3 3xx: S iu hng li
N ngha l hot ng phi c thc hin hon thnh yu cu.
4 4xx: Li Client
N ngha l yu cu cha c php khng chnh xc hoc khng c thc
hin.
5 5xx: Li Server
N ngha l Server tht bi vi vic thc hin mt yu cu nhn nh c v
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 22
kh thi.
M ha trng thi HTTP l c th co gin v ng dng HTTP khng c yu cu hiu ngha
ca tt c cc m trng thi c ng k. Mt danh sch ca tt c cc m trng thi c
cung cp trong mt chng ring bit cho bn tham kho.
Cc trng Header Phn hi Chng ta s hc General-Header v Entity-Header trong mt chng ring bit khi chng ta s hc
v cc trng Header. By gi, chng ta tm hiu xem cc trng Header phn hi l g:
Cc trng Header phn hi cho php Server truyn thng tin thm v phn hi m khng th
c t trong dng Status-Line. Nhng trng Header ny cung cp thng tin v Server v v
truy cp t xa ti ngun c xc nh bi Request-URI.
Accept-Ranges
Age
ETag
Location
Proxy-Authenticate
Retry-After
Server
Vary
WWW-Authenticate
Bn c th to ra cc trng ca ring bn trong trng hp bn ang vit Client v Server cho
ring bn.
Cc v d v Thng bo Phn hi By gi chng ta t tt c cc th trn cng vi nhau to mt phn hi HTTP cho mt yu cu
ch th trang hello.jsp t Server ang chy trn tutorialspoint.com.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 23
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed
Hello, World!
V d sau y ch mt thng bo phn hi HTTP hin th trng thi li khi Server khng th tm thy
trang c yu cu:
HTTP/1.1 404 Not Found
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Connection: Closed
Content-Type: text/html; charset=iso-8859-1
404 Not Found
Not Found
The requested URL /t.jspl was not found on this server.
Tip theo l mt v d ca mt thng bo phn hi HTTP ch trng thi li khi Server nhp vo mt
phin bn HTTP sai trong yu cu HTTP cung cp:
HTTP/1.1 400 Bad Request
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 24
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Content-Type: text/html; charset=iso-8859-1
Connection: Closed
400 Bad Request
Bad Request
Your browser sent a request that this server could not understand.
The request line contained invalid characters following the protocol string.
Phng thc trong HTTP p hp cc phng thc ph bin cho HTTP/1.1 c xc nh bn di v b thit lp ny c th
c m rng da trn cc s yu cu. Nhng tn method ny l case-sensitive v chng phi
c s dng trong dng ch hoa.
STT Phng thc v miu t
1 GET
GET c s dng ly li thng tin t Server cung cp bi s dng
mt URI cung cp. Cc yu cu s dng GET nn ch nhn d liu v
nn khng c nh hng g ti d liu.
2 HEAD
Tng t nh GET, nhng n truyn ti dng trng thi v khu vc
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 25
Header.
3 POST
Mt yu cu POST c s dng gi d liu ti Server, v d, thng tin
khch hng, file ti ln, , bi s dng cc mu HTML.
4 PUT
Thay i tt c cc i din hin ti ca ngun mc tiu vi ni dung c
ti ln.
5 DELETE
G b tt c cc i din hin ti ca ngun mc tiu bi URI.
6 CONNECT
Thit lp mt tunnel ti Server c xc nh bi URI cung cp.
7 OPTIONS
Miu t cc chc nng giao tip cho ngun mc tiu.
8 TRACE
Trnh by mt vng lp kim tra thng bo song song vi path ti ngun
mc tiu.
Phng thc GET Mt yu cu GET ly d liu t mt Server bi vic xc nh cc tham s trong on URL ca yu
cu. y l phng thc chnh c s dng thu hi ti liu. V d sau ch cch s dng ca
phng thc GET ch th hello.htm:
GET /hello.htm HTTP/1.1
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 26
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Server s phn hi li yu cu trn l nh sau:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
Hello, World!
Phng thc HEAD Phng thc HEAD l c chc nng tng t nh GET, ngoi tr l Server phn hi vi mt
dng v cc Header phn hi, nhng khng c phn thn i tng. V d sau ch cch s dng
ca phng thc HEAD ch th thng tin Header v hello.htm:
HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Server phn hi li yu cu HEAD trn nh sau:
HTTP/1.1 200 OK
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 27
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
Bn ch rng ti y Server khng gi bt c d liu no sau Header.
Phng thc POST Phng thc POST c s dng khi bn mun gi mt vi d liu ti Server, v d, cp nht
file, d liu mu, . V d sau y ch cch s dng ca phng thc POST gi mt d liu
mu ti Server, m s c x l bi mt process.cgi v cui cng mt phn hi s c tr li:
POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
string
Bn Server, scipt process.cgi x l d liu truyn v gi phn hi nh sau:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 28
Connection: Closed
Request Processed Successfully
Phng thc PUT Phng thc PUT c s dng yu cu Server lu gi phn thn i tng c bao
gm ti mt v tr c xc nh bi URL cung cp. V d sau yu cu Server lu phn thn i
tng cung cp trong hello.htm ti root ca Server:
PUT /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182
Hello, World!
Server s lu phn thn i tng trong tp hello.jsp v s gi phn hi sau tr li Client:
HTTP/1.1 201 Created
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
The file was created.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 29
Phng thc DELETE Phng thc DELETE c s dng yu cu Server xa mt file ti v tr c xc nh
bi URL cung cp. V d sau yu cu Server xa tp cho hello.htm ti root ca Server:
DELETE /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Server s xa mt tp c cp v s gi phn hi tr li ti Client:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
URL deleted.
Phng thc CONNECT Phng thc CONNECT c s dng bi Client thnh lp mt kt ni mng ti Server qua
HTTP. V d sau yu cu mt kt ni vi mt Server ang chy trn hosttutorialspoint.com:
CONNECT www.tutorialspoint.com HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Kt ni c thnh lp vi Server v phn hi sau c gi tr li ti Client:
HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 30
Phng thc OPTIONS Phng thc OPTIONS c s dng bi Client tm ra cc phng thc HTTP v cc chc
nng c h tr bi mt Server. Client c th xc nh mt URL vi phng thc OPTIONS hoc
mt du * hng ti ton b Server. V d sau yu cu mt danh sch cc phng thc c
h tr bi mt Server ang chy trn tutorialspoint.com:
OPTIONS * HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Server s gi mt thng tin da trn nh cu hnh hin ti ca Server, v d:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory
Phng thc TRACE Phng thc TRACE c s dng nh x cc ni dung ca mt yu cu HTTP ti ngi
yu cu m c th c s dng cho mc ch debug ti thi im ca s pht trin. V d sau ch
cch s dng ca phng thc TRACE:
TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Server s gi thng bo sau trong phn hi ti yu cu trn:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39
TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 31
M ha trng thi trong HTTP Yu t Status-Code l mt s nguyn 3 k t, trong k t u tin ca m ha trng thi nh
ngha hng (loi) phn hi v hai k t cui khng c bt c vai tr phn loi no. C 5 gi tr ca
k t u tin:
STT M v miu t
1 1xx: Thng tin
N ngha l yu cu c nhn v tin trnh ang tip tc.
2 2xx: Thnh cng
N ngha l hot ng c nhn, c hiu, v c chp nhn mt
cch thnh cng.
3 3xx: S iu hng li
N ngha l hot ng phi c thc hin hon thnh yu cu.
4 4xx: Li Client
N ngha l yu cu cha c php khng chnh xc hoc khng c thc
hin.
5 5xx: Li Server
N ngha l Server tht bi vi vic thc hin mt yu cu nhn nh c v
kh thi.
Cc m trng thi l c tnh co dn v cc ng dng HTTP khng c yu cu hiu ngha
ca tt c cc m trng thi c ng k. Di y l mt danh sch lit k tt c cc m
trng thi:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 32
1xx: Thng tin
Thng bo Miu t
100 Continue Ch mt phn ca yu cu c nhn bi Server, nhng
min l n khng b loi b, Client nn tip tc vi yu
cu.
101 Switching
Protocols
Server chuyn i giao thc.
2xx: Thnh cng
Thng bo Miu t
200 OK Yu cu l OK.
201 Created Yu cu l hon thnh, v mt ngun mi c to.
202 Accepted Yu cu c chp nhn cho x l, nhng vic x l
cha hon thnh.
203 Non-
authoritative
Information
Thng tin trong i tng Header l t mt bn sao ni
b hoc bn th 3, khng t Server ban u.
204 No Content Mt m trng thi v mt Header c cung cp trong
phn hi, nhng khng c phn thn i tng trong s
phn hi.
205 Reset Trnh duyt nn dn sch mu c s dng cho vic
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 33
Content truyn ti ny bi mt d liu u vo tng thm.
206 Partial
Content
Server ang tr li d liu cc b ca kch c c yu
cu. c s dng trong phn hi ti mt yu cu xc
nh mtRange Header. Server phi xc nh dy c
bao gm trong phn hi vi Content-Range header.
3xx: S iu hng li
Thng bo Miu t
300 Multiple
Choices
Mt danh sch cc link. Ngi s dng c th chn mt
link v ti v tr . Ti a 5 a ch.
301 Moved
Permanently
Trang c yu cu di chuyn ti mt URL mi.
302 Found Trang c yu cu di chuyn tm thi ti mt URL
mi.
303 See Other Trang c yu cu c th c tm di mt URL
khc.
304 Not
Modified
y l m phn hi ti mt If-Modified-Since hoc If-
None-Match header, ni m URL khng c chnh sa
t ngy c th.
305 Use Proxy URL c yu cu phi c truy cp thng qua mt s
y quyn c cp trong Location Header.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 34
306 Unused M ny c s dng trong mt phin bn trc. N
khng cn c s dng na, nhng m ny c lu
gi.
307 Temporary
Redirect
Trang c yu cu di chuyn tm thi ti mt URL
mi.
4xx: Li Client
Thng bo Miu t
400 Bad Request Server khng hiu yu cu.
401 Unauthorized Trang c yu cu cn mt tn s dng v mt
mt khu.
402 Payment
Required
Bn khng th s dng m ny na..
403 Forbidden S truy cp ti trang c yu cu b cm.
404 Not Found Server khng th tm thy trang c yu cu.
405 Method Not
Allowed
Phng thc c xc nh trong yu cu l khng
c cho php.
406 Not Acceptable Server ch c th to mt phn hi m khng c
chp nhn bi Client.
407 Proxy
Authentication
Bn phi xc nhn vi mt Server y qun trc khi
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 35
Required yu cu ny c phc v.
408 Request
Timeout
Yu cu tn thi gian di hn thi gian Server c
chun b i.
409 Conflict Yu cu khng th c hon thnh bi v s xung
t.
410 Gone Trang c yu cu khng c sn na.
411 Length Required Content-Length khng c xc nh r. Server s
khng chp nhn yu cu m khng c n.
412 Precondition
Failed
iu kin trc c cung cp trong yu cu c
tnh ton l sai bi Server.
413 Request Entity
Too Large
Server s khng chp nhn yu cu, bi v i
tng yu cu l qu rng.
414 Request-url Too
Long
Server s khng chp nhn yu cu, bi v URL l
qu di. Xy ra khi bn chuyn mt yu cu port
ti mt yu cu get vi thng tin qu di.
415 Unsupported
Media Type
Server s khng chp nhn yu cu, bi v kiu
phng tin khng c h tr.
416 Requested
Range Not
Satisfiable
Dy byte c yu cu l khng c sn v bn
ngoi gii hn.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 36
417 Expectation
Failed
Kh nng c cung cp trong mt trng Expect
khng th c kt ni bi Server.
5xx: Li Server
Thng bo Miu t
500 Internal Server
Error
Yu cu khng c hon thnh. Server bt gp
mt iu kin khng c mong i.
501 Not Implemented Yu cu khng c hon thnh. Server khng h
tr tnh nng c yu cu.
502 Bad Gateway Yu cu khng c hon thnh. Server nhn mt
phn hi khng c hiu lc t Server thng
ngun.
503 Service
Unavailable
Yu cu khng c hon thnh. Server tm thi
ang qu ti hoc down.
504 Gateway Timeout Gateway b tr.
505 HTTP Version
Not Supported
S
Cc trng Header trong HTTP Cc trng Header cung cp thng tin c yu cu v yu cu hoc phn hi, hoc v i tng
c gi trong phn thn thng bo. C 4 kiu ca Header thng bo HTTP:
Kiu chung (General-Header): Cc trng Header ny c kh nng ng dng chung cho
c cc thng bo yu cu v phn hi.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 37
Kiu yu cu (Request-Header): Cc trng Header ny c kh nng ng dng ch cho
cc thng bo yu cu.
Kiu phn hi (Response-Header): Cc trng Header ny ch c kh nng p dng cho
cc thng bo phn hi.
Kiu thc th (Entity-Header): Cc trng ny xc nh thng tin v thn-thc th hoc,
nu khng c phn thn no hin th, v ngun c nhn din bi yu cu.
General Header Trng Cache-Control
Trng Header chung Cache-Control c s dng xc nh cc ch dn m PHI c tun
theo bi tt c cc h thng b nh n. C php nh sau:
Cache-Control : cache-request-directive|cache-response-directive
Mt Client hoc Server c th s dng Header chung Cache-Control xc nh cc tham s cho
b nh n hoc yu cu cc loi c th ca ti liu t b nh n. Cc ch dn b nh n c xc
nh trong mt danh sch c phn bit bi du phy. V d:
Cache-control: no-cache
Bng di lit k cc ch dn yu cu b nh n quan trng m c th c s dng
biClient trong yu cu HTTP ca n:
STT Ch dn yu cu b nh n v miu t
1 no-cache
Mt b nh n phi khng s dng phn hi lm tha mn mt yu cu
theo sau m khng ti xc nhn thnh cng vi Server ban u.
2 no-store
B nh n khng nn lu gi bt c th g v yu cu Client hoc phn
h Server.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 38
3 max-age = giy (s)
Ch ra rng Client ang mun chp nhn mt phn hi m thi gian ca n
khng ln hn thi gian xc nh bng giy (s).
4 max-stale [ tnh bng giy ]
Ch ra rng Client ang mun chp nhn mt phn hi m vt thi
gian mn hn. Nu s giy c cung cp, n phi khng l ht hn bi
nhiu hn thi gian .
5 min-fresh = giy
Ch ra rng Client ang mun chp nhn mt phn hi m thi gian sng
khe ca n l khng t hn tui hin ti ca n cng vi thi gian xc
nh bng giy.
6 no-transform
Khng chuyn i phn thn i tng.
7 only-if-cached
Khng ly d liu mi. B nh n c th gi mt ti liu ch khi n trong
b nh n, v khng nn lin h vi Server ban u xem xt nu mt
bn sao mi hn tn ti.
Cc ch dn phn hi b nh n quan trng sau y c th c s dng bi Server trong phn
hi ca n:
STT Ch dn phn hi b nh n v Miu t
1 public
Ch ra rng phn hi c th c gi trong b nh n bi bt c b nh
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 39
n no.
2 private
Ch ra rng tt c hoc mt phn ca thng bo phn hi c xem nh l
cho mt ngi s dng n v phi khng c gi trong b nh n bi
mt b nh n c chia s.
3 no-cache
Mt b nh n phi khng s dng phn hi tha mn mt yu cu
theo sau m khng ti xc nhn thnh cng vi Server ban u.
4 no-store
B nh n khng nn lu bt c g v yu cu Client hoc phn hi
Server.
5 no-transform
Khng chuyn i phn thn i tng.
6 must-revalidate
B nh n phi xc minh trng thi ca cc ti liu c trc khi s
dng n v cc ti liu mn hn khng nn c s dng.
7 proxy-revalidate
Ch dn ti xc nhn y quyn c cng ngha vi ch dn must-
revalidate, ngoi tr n khng p dng ti cc b nh n user agent khng
c chia s.
8 max-age = giy
Ch ra rng Client ang mun chp nhn mt yu cu m tui ca n
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 40
khng ln hn thi gian xc nh bng giy.
9 s-maxage = giy
Tui ti a c xc nh bi ch dn ny vt qu tui ti a xc nh
bi hoc ch dn max-age hoc Expires Header. Ch dn s-maxage lun
lun c b qua bi mt b nh c nhn.
Trng Connection
Trng Header chung Connection cho php ngi gi xc nh cc chc nng m c mong
c cho kt ni c th v phi khng c giao tip bi cc trm y nhim qua cc kt ni xa
hn. Di y l c php n gin cho s dng Connection Header:
Connection : "Connection"
HTTP/1.1 xc nh r chc nng kt ni close cho ngi gi ti tn hiu m kt ni s c ng
sau khi hon thnh phn hi. V d:
Connection: close
Theo mc nh, HTTP 1.1 s dng cc kt ni lin tc, ni m kt ni khng t ng ng sau khi
hon thnh mt giao dch. Trong khi , HTTP 1.0 khng c cc kt ni lin tc theo mc nh. Nu
mt Client 1.0 mong mun s dng cc kt ni lin tc, n s dng cc tham s keep-alvie nh
sau:
Connection: keep-alive
Trng Date
Tt c cc nhn Ngy/Thi gian PHI c biu din trong GMT, khng c trng hp ngoi tr.
Cc ng dng HTTP c cho php c s dng bt k 3 s biu din nhn Ngy/Thi gian no
sau y:
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
y, nh dng u tin l c s dng nhiu nht.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 41
Trng Pragma
Trng Pragma c s dng bao gm cc ch dn c th thc hin m c th p dng ti
bt k ngi nhn no trong chui Yu cu/Phn hi. V d:
Pragma: no-cache
Ch dn ch xc nh r trong HTTP/1.0 l ch dn khng b nh n v c duy tr trong HTTP/1.1
cho tnh tng thch ngc v sau. Khng c cc ch dn Pragma mi s c nh ngha trong
tng lai.
Trng Trailer
Gi tr trng Trailer ch ra rng thit lp cho ca cc trng Header biu din trong trailer ca
mt thng bo c m ha vi m ha truyn ti c ng khi. Di y l c php ca
trng Trailer:
Trailer : field-name
Cc trng Header thng bo c lit k trong trng Trailer phi khng bao gm cc trng
Header sau:
Transfer-Encoding
Content-Length
Trailer
Trng Transfer-Encoding (M ha truyn ti)
Trng Transfer-Encoding ny ch ra kiu truyn ti no c p dng ti phn thn thng bo
cho vic truyn ti mt cch an ton gia ngi gi v ngi nhn. iu ny khng ging
nh Content-encoding bi v cc m ha truyn ti l mt thuc tnh ca thng bo, khng phi l
ca phn thn thng bo. C php ca trng Transfer-Encoding l nh sau:
Transfer-Encoding: chunked
Tt c cc gi tr Transfer-Encoding l khng nhy cm (khng phn bit hoa-thng).
Trng Upgrade
Trng Upgrade ny cho php Client xc nh nhng giao thc giao tip thm vo m n h tr v
s c s dng nu Server tm thy rng n thch hp chuyn i giao thc. V d:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 42
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
Trng Upgrade c ch i cung cp mt k thut n gin cho truyn ti t HTTP/1.1 ti
mt s giao thc khng tng hp.
Trng Via
Trng Via phi c s dng bi cc gateway v cc trm y nhim ch ra cc giao thc
trung gian v ngi nhn. V d, mt thng bo yu cu c th c gi t mt HTTP/1.0 User
agent ti mt trm y nhim ni b c t tn m fred, m s dng HTTP/1.1 chuyn tip
yu cu ti mt trm y nhim cng cng ti nowhere.com, m hon thnh yu cu bi vic
chuyn tip n ti Server ban u ti www.ics.uci.edu. Yu cu c nhn bi www.ics.uci.edu s
c trng Via nh sau:
Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Trng Warning (Cnh bo)
Trng Warning c s dng mang thng tin thm v trng thi hoc s truyn ti ca mt
thng bo m c th khng c phn nh trong thng bo . Mt s phn hi c th mang
nhiu hn mt trng Warning.
Warning : warn-code SP warn-agent SP warn-text SP warn-date
Cc trng Header yu cu trn Client Trng Accept (Chp nhn)
Trng Accept ny c th c s dng xc nh cc kiu phng tin c th m l c th
chp nhn cho s phn hi. C php chung l nh sau:
Accept: type/subtype [q=qvalue]
Cc kiu phng tin c th c lit k phn bit nhau bi cc du phy v gi tr q ty biu
din mt mc cht lng c th chp nhn chp nhn cc kiu trn mt phm vi t 0 ti 1.
Di y l v d:
Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c
on ny c th c bin dch nh text/html v text/x-c v l cc kiu phng tin c a
thch hn nhng nu chng khng tn ti, th sau gi i tng text/x-dvi , v nu n khng
tn ti, gi i tng text/plain.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 43
Trng Accept-Charset
Trng ny c th c s dng ch cc b thit lp k t no c chp nhn cho s phn
hi. Di y l c php chung:
Accept-Charset: character_set [q=qvalue]
Nhiu b k t c th c lit k ring r nhau bi cc du phy v gi tr q ty biu din mt
mc cht lng c th chp nhn cho cc b k t khng c a thch hn trn mt min t
0 n 1. Di y l v d:
Accept-Charset: iso-8859-5, unicode-1-1; q=0.8
Gi tr c bit *, nu c trong trng Accept-Charset, kt ni mi b k t v nu khng c gi
tr trng Accept-Charset no, th mc nh l bt k b k t no cng c th c chp nhn.
Trng Accept-Encoding
Trng ny tng t nh Accept, nhng hn ch m ha ni dung l c th chp nhn trong phn
hi. C php chung l:
Accept-Encoding: encoding types
Cc v d l nh sau:
Accept-Encoding: compress, gzip
Accept-Encoding:
Accept-Encoding: *
Accept-Encoding: compress;q=0.5, gzip;q=1.0
Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0
Trng Accept-Language
Trng ny tng t nh Accept, nhng hn ch b thit lp ca cc ngn ng t nhin l c
a thch hn khi mt phn hi ti mt yu cu. C php chung l:
Accept-Language: language [q=qvalue]
Nhiu ngn ng c th c lit k phn bit nhau bi du phy v gi tr q ty biu din mt
mc cht lng c th chp nhn cho cc ngn ng khng c a thch hn trn min t 0
ti 1. Di y l mt v d:
Accept-Language: da, en-gb;q=0.8, en;q=0.7
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 44
Trng Authorization (S y quyn)
Gi tr trng Authorization bao gm cc s y nhim m cha thng tin y quyn ca mt user
agent cho phm vi ngun ang c yu cu. C php chung l:
Authorization : credentials
nh cu hnh HTTP/1.0 nh ngha gin y quyn C BN, ni m tham s y quyn l mt
chui ca tn s dng:mt khu c m ha trong c s 64 bit. Di y l v d:
Authorization: BASIC Z3Vlc3Q6Z3Vlc3QxMjM=
Gi tr gii m l guest:guest123, trong guest l ti khon ngi dng v guest123 l mt
khu.
Trng Cookie
Gi tr trng Cookie cha mt cp tn/gi tr ca thng tin c lu gi cho URL . Di y l
c php chung:
Cookie: name=value
Nhiu cookie c th c xc nh phn bit nhau bi cc du chm phy ; nh sau:
Cookie: name1=value1;name2=value2;name3=value3
Trng Expect
Trng Expect c s dng ch ra rng mt b thit lp c th ca cc hnh vi Server c
yu cu bi Client. C php chung l:
Expect : 100-continue | expectation-extension
Nu mt Server nhn mt yu cu cha mt trng Expect m bao gm mt dn mong i m
n khng h tr, n phi phn hi vi trng thi 417 (s mong i tht bi).
Trng From
Trng From cha mt a ch th in t cho ngi s dng m kim sot user agent. Di y
l mt c php n gin:
From: [email protected]
Trng ny c th c s dng cho nhp cc mc ch v nh l mt phng tin cho vic xc
nhn ngun ca cc yu cu khng kh thi hoc khng mun.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 45
Trng Host
Trng Host c s dng xc nh Internet host v s hiu cng ca ngun c yu cu.
C php chung l:
Host : "Host" ":" host [ ":" port ] ;
Mt Host m khng c bt k thng tin port no ngy l port mc nh, m l 80. V d, mt yu
cu trn Server ban u cho http://w3.org/pub/WWW/ s l:
GET /pub/WWW/ HTTP/1.1
Host: www.w3.org
Trng If-Match
Trng If-Match c s dng trong mt method lm cho n c iu kin. Header ny yu cu
Server biu din method c yu cu ch khi gi tr c cung cp trong th ny kt ni vi
cc th i tng c cung cp c biu din bi Etag. C php chung l:
If-Match : entity-tag
Mt du (*) kt ni vi bt c i tng no, v s truyn ti tip tc ch khi i tng tn ti. Di
y l cc v d c th:
If-Match: "xyzzy"
If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
If-Match: *
Nu khng c th i tng no kt ni, hoc nu (*) c cung cp v khng i tng hin ti
no tn ti, Server khng c trnh by method c yu cu, v phi tr li mt phn hi l 412
(iu kin trc tht bi).
Trng If-Modified-Since
Trng ny c s dng vi mt method lm cho n c iu kin. Nu URL c yu cu
khng c chnh sa t thi gian c xc nh trong trng ny, mt i tng s khng
c tr li t Server; thay vo , mt phn hi 304 (khng c chnh sa) s c tr li m
khng c bt c phn thn thng bo no. C php chung ca If-Modified-Since l:
If-Modified-Since : HTTP-date
Mt v d ca trng l:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 46
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Nu khng c th i tng no kt ni vi, hoc nu * c cung cp v khng i tng hin
ti no tn ti,, Server khng c trnh by method c yu cu, v phi tr li phn hi 412
(iu kin trc tht bi).
Trng If-None-Match
Trng ny c s dng vi mt method lm cho n c iu kin. Trng ny yu cu Server
trnh by method c yu cu ch khi mt trong s gi tr cho ca th ny kt ni vi cc th
i tng c cung cp biu din bi Etag. C php chung l:
If-None-Match : entity-tag
Mt du * kt ni vi bt k i tng no, v s truyn ti tip tc ch khi i tng khng tn ti.
Di y l cc v d c th c:
If-None-Match: "xyzzy"
If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
If-None-Match: *
Trng If-Range
Trng If-Range c th c s dng vi mt GET c iu kin yu cu ch mt phn ca i
tng m ang b tht lc, nu n khng c thay i, v ton b i tng nu n c thay
i. C php chung nh sau:
If-Range : entity-tag | HTTP-date
Hoc mt th i tng hoc mt d liu c th c s dng xc minh i tng ni b
nhn. V d:
If-Range: Sat, 29 Oct 1994 19:43:31 GMT
Ti y, nu ti liu khng c chnh sa t ngy cho, Server tr li dy byte c cung cp
bi trng Range, nu khng th n tr li tt c cc ti liu mi.
Trng If-Unmodified-Since
Trng ny c s dng vi mt method lm cho n c iu kin. C php chung l:
If-Unmodified-Since : HTTP-date
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 47
Nu ngun c yu cu khng c chnh sa t khi thi gian c xc nh trong trng
ny, Server s thc hin hot ng c yu cu nu nh If-Unmodified-Since khng biu din. V
d:
If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Nu yu cu c kt qu l bt c g khc ngoi mt trng thi l 2xx hoc 4xx, th trng If-
Unmodified-Since nn c b qua.
Trng Max-Forwards
Trng ny cung cp mt k thut vi cc phng thc TRACE v OPTIONS gii hn s cc
trm y quyn hoc gateway m c th chuyn tip yu cu ti Server k tip. y l c php
chung:
Max-Forwards : n
Gi tr Max-Forward l mt s nguyn h thp phn ch rng s ln cn li ca thng bo yu cu
ny c th c chuyn tip. iu ny l hu ch cho debug vi phng thc TRACE, trnh c
cc vng lp v hn. V d:
Max-Forwards : 5
Trng ny c th b b qua vi tt c cc phng thc c nh ngha trong nh cu hnh
HTTP.
Trng Proxy-Authorization
Trng ny cho php Client xc nhn chnh n (hoc ngi s dng ca n) ti mt trm y
quyn m yu cu s y nhim. y l c php chung:
Proxy-Authorization : credentials
Gi tr trng Proxy-Authorization bao gm cc s y nhim cha thng tin y nhim ca user
agent cho trm y nhim v/hoc phm vi ca ngun c yu cu.
Trng Range
Trng Range xc nh dy ni b ca ni dung c yu cu t ti liu. C php chung l:
Range: bytes-unit=first-byte-pos "-" [last-byte-pos]
Gi tr First-byte-pos trong mt byte-range-spec chung cp byte-offset ca byte u tin trong mt
dy. Gi tr last-byte-pos cung cp byte-offset ca byte cui cng trong dy; l, cc v tr byte
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 48
c xc nh. Bn c th xc nh mt n v byte nh cc byte. Byte offset bt u ti 0. Mt s
v d n gin nh sau:
- The first 500 bytes
Range: bytes=0-499
- The second 500 bytes
Range: bytes=500-999
- The final 500 bytes
Range: bytes=-500
- The first and last bytes only
Range: bytes=0-0,-1
Nhiu dy c th c lit k, phn bit nhau bi du phy. Nu k s u tin trong dy byte
phn bit nhau bi du phy b b qun, dy c gi s l tnh ton t phn cui ca ti liu. Nu
k s th hai b b qun, dy l byte th n ti phn cui ti liu.
Trng Referer
Trng ny cho php Client xc nh a ch URI ca ngun m t URL c yu cu. C
php chung l nh sau:
Referer : absoluteURI | relativeURI
Di y l v d:
Referer: http://www.tutorialspoint.org../http/index.jsp
Nu gi tr trng l mt URI quan h, n nn c phin dch lin quan ti Request-URI.
Trng TE
Trng ny ch s m rng no m transfer-coding ang mun chp nhn trong phn hi v c
hoc khng n ang mun chp nhn cc trng trailer trong mt transfer-codingc ng khi.
Sau y l c php chung:
TE : t-codings
S hin din ca t kha trailers ch rng Client ang mun chp nhn cc trng trailer trong
mt transfer-coding c ng khi v n c xc nh theo mt trong 2 cch:
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 49
TE: deflate
TE:
TE: trailers, deflate;q=0.5
Nu gi tr trng TE l trng hoc khng trng TE no hin din, th khi ch c transfer-
coding c ng khi (chunked). Mt thng bo vi khng transfer-coding l lun lun c th
chp nhn.
Trng User-Agent
Trng User-Agent cha thng tin v tc nhn ngi s dng to yu cu. Sau y l c php
chung:
User-Agent : product | comment
V d:
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Cc trng Phn hi t Server Trng Accept-Ranges
Trng ny cho php Server ch s chp nhn ca n v cc dy yu cu cho mt ngun. C
php chung l:
Accept-Ranges : range-unit | none
V d, mt Server m chp nhn cc yu cu v dy byte c th gi:
Accept-Ranges: bytes
Server m khng chp nhn bt k loi dy yu cu cho mt ngun c th gi:
Accept-Ranges: none
iu ny s khuyn Client khng c gng chim c mt dy yu cu.
Trng Age
Trng Age chuyn tnh ton v s lng thi gian t khi phn hi c to ra ti Server ban u
ca ngi gi. C php chung l:
Age : delta-seconds
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 50
Gi tr Age l cc s nguyn thp phn khng ph nh, biu din thi gian bng giy. Sau y l
mt v d n gin:
Age: 1030
Mt HTTP/1.1 Server m bao gm mt b nh n phi bao gm mt trng Age trong mi phn
hi c to t b nh n ring ca n.
Trng ETag
Trng Etag cung cp gi tr hin ti ca th i tng cho bin th c yu cu. C php chung
l:
ETag : entity-tag
Di y l mt s v d n gin:
ETag: "xyzzy"
ETag: W/"xyzzy"
ETag: ""
Trng Location
Trng Location c s dng iu hng li ngi nhn ti mt v tr khc ngoi Reqest-
URI. C php chung l:
Location : absoluteURI
Di y l mt v d n gin:
Location: http://www.tutorialspoint.org../http/index.jsp
Trng Content-Location khc Location trong m Content-Location xc nhn v tr ban u
ca i tng c bao gm trong yu cu.
Trng Proxy-Authenticate
Trng ny phi c bao gm nh l mt phn ca phn hi 407. C php chung l:
Proxy-Authenticate : challenge
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 51
Trng Retry-After
Trng ny c th c s dng vi mt phn hi 503 (Service Unavailable - dch v khng c
sn) ch rng dch v c mong i l khng c sn trong vng bao lu ti Client ang yu
cu. C php chung l:
Retry-After : HTTP-date | delta-seconds
Cc v d:
Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
Retry-After: 120
Trong v d sau, s tr hon l 2 pht.
Trng Server
Trng ny cha thng tin v phn mm c s dng bi Server ban u kim sot yu cu.
C php chung l:
Server : product | comment
Sau y l v d:
Server: Apache/2.2.14 (Win32)
Nu phn hi ang c chuyn tip qua mt trm y quyn, ng dng y quyn khng c
chnh sa trng Server.
Trng Set-Cookie
Trng ny cha mt cp tn/gi tr ca thng tin gi li cho URL. C php chung l:
Set-Cookie: NAME=VALUE; OPTIONS
Trng phn hi Set-Cookie bao gm Set-Cookie du hiu, c theo sau bi mt danh sch
c phn bit bng du phy ca mt hoc nhiu cookie. y l cc gi tr c th m bn c
th xc nh nh l cc tnh nng:
STT Cc tnh nng v Miu t
1 Comment=comment
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 52
Tnh nng ny c th c s dng xc nh bt c li bnh no lin
kt vi cookie.
2 Domain=domain
Thuc tnh Domain xc nh min m vi n cookie l c hiu lc.
3 Expires=Date-time
Ngy m cookie s ht hn. Nu n l trng, cookie s ht hn khi khch
s dng ri khi trnh duyt.
4 Path=path
Thuc tnh path xc nh b thit lp ph ca cc URL m cookie ny p
dng.
5 Secure
N ch dn user agent tr li cookie ch di dng mt kt ni an
ton.
Sau y l mt v d ca mt cookie n gin c to bi Server:
Set-Cookie: name1=value1,name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT
Trng Vary
Trng Vary xc nh rng i tng c nhiu ngun v v th c th theo nhiu cch ti mt
danh sch yu cu c xc nh. Sau y l c php chung:
Vary : field-name
Bn c th xc nh nhiu Header phn bit nhau bi du phy v mt gi tr l du * m khng
xc nh cc tham s (khng gii hn ti cc Header yu cu). Sau y l v d n gin:
Vary: Accept-Language, Accept-Encoding
y, cc tn trng l khng nhy cm.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 53
Trng WWW-Authenticate
Trng ny phi c bao gm trong cc thng bo phn hi 401 (khng c y quyn). Gi tr
trng bao gm t nht mt challenge (hiu lnh) m ch dn gin y quyn v cc tham s c
th p dng ti URI yu cu. C php chung l:
WWW-Authenticate : challenge
Gi tr tng c th cha nhiu hn mt challenge, hoc nu nhiu hn mt trng WWW-
Authenticate c cung cp, cc ni dung ca chnh challenge c th cha mt danh sch
c phn bit bi du phy ca cc tham s y quyn. Sau y l mt v d n gin:
WWW-Authenticate: BASIC realm="Admin"
Entity Headers Trng Allow
Trng ny lit k b thit lp ca cc method c h tr bi ngun c xc nhn bi Request-
URI. C php chung l:
Allow : Method
Bn c th xc nh nhiu phng thc c phn bit bi du phy. Sau y l mt v d n
gin:
Allow: GET, HEAD, PUT
Trng ny khng ngn cn mt Client t vic c gng th cc method khc.
Trng Content-Encoding
Trng ny c s dng nh mt b chnh sa ti kiu phng tin. C php chung l:
Content-Encoding : content-coding
M ha ni dung l mt thuc tnh ca mt i tng c xc nh bi Request-URI. Sau y l
mt v d n gin:
Content-Encoding: gzip
Nu m ha ni dung ca mt i tng l mt thng bo yu cu l khng c chp nhn bi
Server ngun, Server s phn hi vi mt m trng thi 415 (kiu phng tin khng c h tr).
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 54
Trng Content-Language
Trng ny miu t cc ngn ng t nhin ca ngi c d nh cho i tng bao gm.
Sau y l c php chung:
Content-Language : language-tag
Nhiu ngn ng c th c lit k cho ni dung m c d nh cho nhiu ngi c. Sau y
l mt v d n gin:
Content-Language: mi, en
Mc ch u tin ca Content-Language l cho php mt ngi s dng xc nhn v to
s khc bit cc i tng theo ngn ng c a thch hn ca ring ngi dng.
Trng Content-Length
Trng ny ch dn kch c ca phn thn i tng, trong s thp phn ca h 8, c gi ti
ngi nhn hoc, trong trng hp ca phng thc HEAD, kch c ca phn thn i tng m
s c gi, c yu cu l mt GET. C php chung l:
Content-Length : DIGITS
Sau y l mt v d n gin:
Content-Length: 3495
Bt k Conten-Length no ln hn hoc bng l mt gi tr c hiu lc.
Trng Content-Location
Trng ny c th c s dng cung cp v tr ngun cho i tng c bao gm trong
thng bo khi i tng l c th truy cp t mt v tr ring bit t mt URI ca ngun c
yu cu. C php chung l:
Content-Location: absoluteURI | relativeURI
Sau y l mt v d n gin:
Content-Location: http://www.tutorialspoint.org../http/index.jsp
Gi tr ca Content-Location cng nh ngha URI c s cho i tng.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 55
Trng Content-MD5
Trng ny c th c s dng cung cp mt h thng phn loi MD5 ca i tng cho vic
kim tra tnh nguyn vn ca thng tin ti ngi nhn. C php chung l:
Content-MD5 : md5-digest using base64 of 128 bit MD5 digest as per RFC 1864
Sau y l mt v d n gin:
Content-MD5 : 8c2d46911f3f5a326455f0ed7a8ed3b3
H thng phn loi MD5 c tnh ton ha da trn c s ni dung ca phn thn thc th, bao
gm bt c m ha ni dung no m c p dng, nhng khng bao gm bt c m ha
truyn ti c p dng ti phn thn thng bo.
Trng Content-Range
Trng ny c gi vi mt phn thn thc th ni b xc nh ni trong ton b phn thn
i tng m phn thn ni b nn c p dng. C php chung l:
Content-Range : bytes-unit SP first-byte-pos "-" last-byte-pos
Cc v d ca cc gi tr byte-content-range-spec, gi s rng i tng cha mt tng ca 1234
byte:
- The first 500 bytes:
Content-Range : bytes 0-499/1234
- The second 500 bytes:
Content-Range : bytes 500-999/1234
- All except for the first 500 bytes:
Content-Range : bytes 500-1233/1234
- The last 500 bytes:
Content-Range : bytes 734-1233/1234
Khi mt thng bo HTTP bao gm ni dung ca mt dy n, ni dung ny c truyn ti vi mt
Content-Range, v mt Content-Length ch s byte c truyn ti thc s. V d:
HTTP/1.1 206 Partial content
Date: Wed, 15 Nov 1995 06:25:24 GMT
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 56
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif
Trng Content-Type
Trng ny ch dn kiu phng tin ca phn thn i tng c gi ti ngi nhn hoc,
trong trng hp phng thc HEAD, kiu phng tin m s c gi, c yu cu l GET. C
php chung l:
Content-Type : media-type
Sau y l mt v d:
Content-Type: text/html; charset=ISO-8859-4
Trng Expires
Trng ny cung cp Ngy/Thi gian sau phn hi c cho l ht hn. C php chung:
Expires : HTTP-date
Sau y l mt v d:
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Trng Last-Modified
Trng ny ch ngy v thi gian ti Server ban u tin rng s bin i c chnh sa ln
cui. C php chung l:
Last-Modified: HTTP-date
Sau y l mt v d:
Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
Caching trong HTTP HTTP c s dng mt cch c trng cho cc h thng thng tin c phn phi, ni m hiu
sut c th c nng cao bi s dng cc b nh n phn hi. Giao thc HTTP/1.1 bao gm mt
s cc yu t c d nh thc hin cc cng vic lu vo b nh n.
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 57
Mc tiu ca lu vo b nh n trong HTTP/1.1 l tnh ton s cn thit gi cc yu cu
trong nhiu trng hp, v tnh ton s cn thit gi cc s phn hi y trong nhiu
trng hp khc.
K thut b nh n c s trong HTTP/1.1 l gm cc ch th ti cc b nh n ni m Server xc
nh thi gian v ngy mn hn. Chng ta s dng trng Cache-Control cho mc ch ny.
Trng Cache-Control cho php mt Client hoc Server truyn cc ch th a dng trong hoc
cc yu cu hoc cc s phn hi. Nhng ch th ny c c trng l c quyn u tin cao hn cc
thut ton lu vo b nh n theo mc nh. Cc ch th lu vo b nh n c xc nh trong
mt danh sch phn bit nhau bi du phy. V d:
Cache-control: no-cache
Sau y l cc ch th yu cu b nh n c th c s dng bi Client trong yu cu HTTP ca
n:
STT Ch dn yu cu b nh n v miu t
1 no-cache
Mt b nh n phi khng s dng phn hi lm tha mn mt yu cu
theo sau m khng ti xc nhn thnh cng vi Server ban u.
2 no-store
B nh n khng nn lu gi bt c th g v yu cu Client hoc phn h
Server.
3 max-age = (tnh bng giy)
Ch ra rng Client ang mun chp nhn mt phn hi m thi gian ca n
khng ln hn thi gian xc nh bng giy (s).
4 max-stale [= giy]
Ch ra rng Client ang mun chp nhn mt phn hi m vt thi
gian mn hn. Nu s giy c cung cp, n phi khng l ht hn bi
nhiu hn thi gian .
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 58
5 min-fresh = giy
Ch ra rng Client ang mun chp nhn mt phn hi m thi gian sng
khe ca n l khng t hn tui hin ti ca n cng vi thi gian xc
nh bng giy.
6 no-transform
Khng chuyn i phn thn i tng.
7 only-if-cached
Khng ly d liu mi. B nh n c th gi mt ti liu ch khi n trong
b nh n, v khng nn lin h vi Server ban u xem xt nu mt
bn sao mi hn tn ti.
Cc ch th phn hi b nh n sau y c th c s dng bi Server trong phn hi HTTP ca
n:
STT Ch dn phn hi b nh n v Miu t
1 public
Ch ra rng phn hi c th c gi trong b nh n bi bt c b nh
n no.
2 private
Ch ra rng tt c hoc mt phn ca thng bo phn hi c xem nh l
cho mt ngi s dng n v phi khng c gi trong b nh n bi
mt b nh n c chia s.
3 no-cache
Mt b nh n phi khng s dng phn hi tha mn mt yu cu
theo sau m khng ti xc nhn thnh cng vi Server ban u.
4 no-store
B nh n khng nn lu bt c g v yu cu Client hoc phn hi
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 59
Server.
5 no-transform
Khng chuyn i phn thn i tng.
6 must-revalidate
B nh n phi xc minh trng thi ca cc ti liu c trc khi s dng
n v cc ti liu mn hn khng nn c s dng.
7 proxy-revalidate
Ch dn ti xc nhn y quyn c cng ngha vi ch dn must-revalidate,
ngoi tr n khng p dng ti cc b nh n user agent khng c chia
s..
8 max-age = giy
Ch ra rng Client ang mun chp nhn mt yu cu m tui ca n
khng ln hn thi gian xc nh bng giy.
9 s-maxage = giy
Tui ti a c xc nh bi ch dn ny vt qu tui ti a xc nh
bi hoc ch dn max-age hoc Expires Header. Ch dn s-maxage lun
lun c b qua bi mt b nh c nhn.
M ha URL trong HTTP Cc HTTP URL c th ch c gi thng qua Internet bi s dng b k t ASCII, m thng
cha cc k t bn ngoi b k t ASCII. V th cc k t khng an ton phi c i ch vi
a % c theo sau bi hai k s h thp lc phn.
Bng di y ch cc k hiu ASCII ca cc k t v s thay th ca chng m c th c s
dng trong URL trc khi truyn n ti Server.
ASCII Biu tng
S thay th
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 60
< 32 M ha vi %xx, vi xx l s i din trong h thp lc phn ca k t.
32 space + or %20
33 ! %21
34 " %22
35 # %23
36 $ %24
37 % %25
38 & %26
39 ' %27
40 ( %28
41 ) %29
42 * *
43 + %2B
44 , %2C
45 - -
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 61
46 . .
47 / %2F
48 0 0
49 1 1
50 2 2
51 3 3
52 4 4
53 5 5
54 6 6
55 7 7
56 8 8
57 9 9
58 : %3A
59 ; %3B
60 < %3C
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 62
61 = %3D
62 > %3E
63 ? %3F
64 @ %40
65 A A
66 B B
67 C C
68 D D
69 E E
70 F F
71 G G
72 H H
73 I I
74 J J
75 K K
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 63
76 L L
77 M M
78 N N
79 O O
80 P P
81 Q Q
82 R R
83 S S
84 T T
85 U U
86 V V
87 W W
88 X X
89 Y Y
90 Z Z
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 64
91 [ %5B
92 \ %5C
93 ] %5D
94 ^ %5E
95 _ _
96 ` %60
97 a a
98 b b
99 c c
100 d d
101 e e
102 f f
103 g g
104 h h
105 i i
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 65
106 j j
107 k k
108 l l
109 m m
110 n n
111 o o
112 p p
113 q q
114 r r
115 s s
116 t t
117 u u
118 v v
119 w w
120 x x
-
http://vietjack.com/http/index.jsp Copyright vietjack.com
http://vietjack.com/ Trang chia s cc bi hc online min ph Page 66
121 y y
122 z z
123 { %7B
124 | %7C
125 } %7D
126 ~ %7E
127 %7F
> 127 M ha vi %xx, vi xx l s i din trong h thp lc phn ca k t.
Bo mt trong HTTP HTTP c s dng cho giao tip thng tin qua Internet, v th cc nh lp trnh ng dng, cc
nh cung cp thng tin, v nhng ngi s dng nn nhn bit cc gii hn bo v trong
HTTP/1.1. Chng tho lun ny s khng bao gm cc gii php r rng ti nhng vn c
cp ti y, nhng n a ra mt s gi gim cc ri ro.
S r r thng tin c nhn