1.1 Tip2锛?HTTP??璁?绠?浠?
???HTTP??hypertext transfer protocol锛?瓒?????浼?杈???璁?锛???绠???锛?瀹???TCP/IP??璁???涓?涓?搴??ㄥ???璁?锛??ㄤ?瀹?涔?WEB娴?瑙??ㄤ?WEB???″?ㄤ??翠氦?㈡?版????杩?绋???
???HTTP??璁???瀛??JavaWEB寮??????虹?籌?涓?娣卞?ヤ?瑙?TTP??璁?锛?灏變??借?存???′?WEB寮???锛??存??娉?绠$????缁存?や?浜?澶?????WEB绔??廣??
???HTTP??璁???????锛?HTTP/1.0??HTTP/1.1
锛?1锛???瀹㈡?風??杩?涓?web???″?ㄤ???锛??ユ?寵?峰?web???″?ㄤ腑????涓?web璧?婧?锛????靛驚涓?瀹?????璁??煎?锛?HTTP??璁??ㄤ?瀹?涔?瀹㈡?風??涓?web???″?ㄩ??璁????煎?
锛?2锛???浣跨??elnet绋?搴??鎬?web???″???骞朵嬌??TTP??璁??峰???涓?椤甸???蹇???浜?瑙?TTP??璁???浣???
锛?3锛???瀹?瑁?IE娴?瑙??ㄧ????浠?ttpWatch锛??ョ??IE娴?瑙??ㄩ??杩?HTTP??璁??峰????涓?椤甸??
1.2 Tip3锛?HTTP1.0??HTTP1.1???哄??
???1????TTP1.0??璁?涓?锛?瀹㈡?風??涓?web???″?ㄥ緩绔?杩??ュ??锛????借?峰?涓?涓?web璧?婧???
???HTTP1.1??璁?锛???璁稿?㈡?風??涓?web???″?ㄥ緩绔?杩??ュ??锛??ㄤ?涓?杩??ヤ??峰??澶?涓?web璧?婧???
???2??浣跨??elnet涓句?璇存????
?????寮?tamcat???″????跺????OS?戒護琛????ワ?GET/aa/1.html HTTP/1.0 (宸茬???omcat???″?ㄧ??webapps??aa??褰?涓???寤轟?1.html)Host: (?跺????涓???杞???)
???3??涓?涓?濂藉???瀛???涓?娓?妤?????棰?锛?
???涓?涓?web椤甸??腑锛?浣跨??mg??绛懼??ㄤ?涓?骞??劇??锛?褰?瀹㈡?風??璁塊?????″?ㄤ腑??杩?涓?web椤甸?㈡?訛?瀹㈡?風???誨?變?璁塊????娆℃???″????沖?????″?ㄥ????浜???娆?TTP璇鋒???
???1.html涓?
Aaaaa
<img src=??1.jpg??>
<img src=??2.jpg??>
<img src=??3.jpg??>
娴?瑙??ㄥ?????″?ㄥ????浜???娆¤?鋒?锛?
娉ㄦ??锛?web寮???椤甸?㈣?捐?℃?朵?瀹?瑕???灏?瀹㈡?鋒?虹??椤甸?㈣?鋒??幫?
??棰?锛?涓???唬????椤甸?㈠?㈡?鋒?烘??3娆¤?鋒???锛?
Aaaaaaaaaaaaaa
<script src=??1.js??>
<script src=??js??>
浼???锛?灏???????js??浠跺???頒?涓?js??浠朵腑锛?澶?涓?css??浠跺??骞舵??涓?涓?css??浠訛?
1.3 Tip4锛?HTTP璇鋒?
锛?1锛?瀹㈡?風??杩?涓????″?ㄥ??锛??????″?ㄨ?鋒???涓?web璧?婧?锛?绉頒?涓哄?㈡?風???????″?ㄥ????浜?涓?涓?HTTP璇鋒???涓?涓?瀹??寸??HTTP璇鋒?????濡?涓???瀹癸?
???涓?涓?璇鋒?琛????ュ共璇鋒?澶淬??浠ュ??瀹?浣???瀹癸??朵腑??涓?浜?娑???澶村??瀹?浣???瀹歸?芥????????锛?娑???澶村??瀹?浣???瀹逛??磋??ㄧ┖琛???寮???濡?涓???绀猴?
1.4 Tip5锛?HTTP璇鋒???缁???????璇鋒?琛?
(1)??璇鋒?琛?涓???GET绉頒?涓鴻?鋒??瑰?锛?璇鋒??瑰???锛?
POST??GET??HEAD??OPTIONS??DELETE??TRACE??PUT
甯哥?ㄧ????锛?POST??GET
?ㄦ?峰???娌℃??璁劇疆锛?榛?璁ゆ???典?娴?瑙??ㄥ?????″?ㄥ???????芥??get璇鋒?锛?渚?濡??ㄦ?瑙??ㄧ?存?ヨ??闆??璁塊??锛??矽??炬?ヨ?塊??绛??芥??get锛??ㄦ?峰????蟲??璇鋒??瑰??逛負post锛???浠ラ??杩??存?矽〃??????浜ゆ?瑰?瀹??般??
<from action=??.html?? method=??post??>
</from>
?朵??瑰??芥??get
(2)??涓?绠?OST??GET锛??界?ㄤ??????″?ㄨ?鋒???涓?WEB璧?婧?锛?杩?涓ょ??瑰????哄??涓昏?琛ㄧ?闆?ㄦ?版??浼???涓?锛?瀹㈡?風????杩?杩?涓ょ??瑰??藉??浠ュ甫涓?浜??版??缁????″???
A??濡?璇鋒??瑰?涓?ET?瑰?锛?????浠ュ?ㄨ?鋒???URL?闆????浠???褰㈠?甯??浜ょ????″?ㄧ???版??锛?澶?涓??版??涔??翠互&杩?琛?????锛?渚?濡?锛?
GET?瑰????圭?癸???RL?闆??????甯??????版???????剁??锛??舵?版??瀹歸??涓??借?杩?1K??
渚?濡?锛??????″?ㄤ?浼?涓?涓?澶уご?э?灏變??界??et??
B??濡?璇鋒??瑰?涓?OST?瑰?锛?????浠ュ?ㄨ?鋒???瀹?浣???瀹逛腑?????″?ㄥ?????版??锛?渚?濡?锛?
POST /servlet/ParamsServlet HTTP/
Host:
Content-Type: application/x-www-form-urlencoded
Content-Length:
name=abc&password=xyz
Post?瑰????圭?癸?浼??????版?????????躲??
渚?瀛?锛??圭??
?瑰?昏??炬?ョ?????跺?????″?ㄥ????浜??版??username
(3)锛?HTTP璇鋒???缁???????娑???澶?
?ㄤ?HTTP璇鋒?涓???甯哥?ㄥご
Accept: text/html,image/* (??璇????″?ㄥ?㈡?鋒?烘???????版??绫誨??锛?杩???琛ㄧず????html??浠諱????劇???煎?)
Accept-Charset: ISO-8859-1(?ㄤ?楂??????″???瀹㈡?鋒?洪???ㄧ??缂???)
Accept-Encoding: gzip,compress(?ㄤ???璇????″???瀹㈡?鋒?洪???ㄧ???版????缂╂?煎?)
Accept-Language: en-us,zh-cn 锛?瀹㈡?鋒?虹??璇?瑷???澧?锛?
Host: www.it315.org:80(瀹㈡?鋒?哄??璇????″?ㄦ?寵?璁塊????涓繪?哄??)
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT(瀹㈡?鋒?洪??杩?杩?涓?澶村??璇????″???璧?婧???缂?瀛??堕??
Referer: http://www.it315.org/index.jsp(瀹㈡?鋒?洪??杩?杩?涓?澶村??璇????″???瀹???浠???涓?璧?婧??ヨ?塊?????″?ㄧ??锛??茬???撅?)
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) (瀹㈡?鋒?洪??杩?杩?涓?澶村??璇????″???瀹㈡?鋒?虹??杞?浠剁??澧?)
Cookie锛?(瀹㈡?鋒?洪??杩?杩?涓?澶村??璇????″?ㄥ??浠ュ?????″?ㄥ甫?版??)
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
(4)??涓?涓?HTTP??搴?浠h〃???″?ㄥ??瀹㈡?風?????????版??锛?瀹?????锛?
A???舵??琛?
?煎?锛? HTTP?????楓???舵????????????杩?
涓句?锛?HTTP/1.1 200 OK
?舵?????ㄤ?琛ㄧず???″?ㄥ?矽?鋒???澶???缁???锛?瀹???涓?涓?涓?浣?????杩??舵?般????搴??舵??????涓?绫夥?濡?涓???绀猴?
1.5 Tip9锛?HTTP??搴?缁???????甯哥?ㄥ??搴?澶?
HTTP璇鋒?涓???甯哥?ㄥ??搴?澶?
??Location: http://www.it315.org/index.jsp(????302?舵??浣跨????ㄤ???璇?瀹㈡?鋒?捐?锛?璇鋒???瀹???锛?)
渚?锛?//??ocation??302瀹??拌?鋒???瀹???锛??誨?绛?绛?锛?
Public void test1(HttpServletResponse response){
Response.setStatus();
Response.setHeader(??location??,??/fandong/html??);
}
??erver:apache tomcat锛????″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄦ???″?ㄧ??绫誨??锛?
??ontent-Encoding: gzip ()(???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄦ?版??????缂╂?煎?)
娉ㄦ??锛???缂╄?芥??楂?缃?绔????ц?斤?骞跺??浠ヨ????缃?绔???????
Java涓?????缂╂?锛?GZIPOutputStream绫?
渚?锛?瀹??版?版??????缂╄??恒??
????.
String data=??aaaaaa??;
System.out.println(????濮??版??澶у?锛???+data.getBytes().length);
ByteArrayOutputStream bout=new ByteArrayOutputStream();
GZIPOutputStream gout=new GZIPOutputStream(bout);//濡????版????寰?灏?锛?娌℃??濉?婊$??插?猴?涓?浼????ュ?灞?娴?锛???浠ヨ???gout.close()
gout.write(data.getBytes());
gout.close();
byte gzip[]=bout.toByteArray();//寰??闆??缂╁?????版??
system.out.println(????缂╁????澶у?:??+gzip.length);
response.setHeader(??Content-Encoding??,??gzip??);
response.setHeader(??Content-Length??,gzip.length+????);
response.getOutputStream.write(gzip);
????
??ontent-Length: 80 (???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄦ?版???????版?????垮害)
??ontent-Language: zh-cn (???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄦ?版???????版????璇?瑷???澧?)
??ontent-Type: text/html; charset=GB2312 (???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄦ?版???????版????绫誨??html??img绛?绛?)
??棰?锛?濡?浣??ユ?句????煎???浠剁被??瀵瑰???Content=Type?
??omcat涓???web.xml?ユ?撅???E??寮?锛???涓?ctrl+F锛??ㄦ??f3?ユ?撅?
??ast-Modified: Tue, 11 Jul 2000 18:23:51 GMT (???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄥ???璧?婧???缂?瀛??堕??
??efresh: 1;url=http://www.it315.org(???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄩ??澶??挎?堕?村?鋒?頒?娆?
渚?濡?锛?
?? response.setHeader(??refresh??,????);
String data=??aaaaaaaa??;
Response.getOutputStream().write(data.getBytes());//姣???3绉??鋒?頒?娆¤?婧?
搴??ㄤ???澶╁?ょ??绛?绋?搴???瀹??幫?
??response.setHeader(??refresh??,????;url=??http://www.baidu.com??);
String data=??aaaaaaaa??;
Response.getOutputStream().write(data.getBytes());//??3绉??鋒?闆?扮?懼害
??ontent-Disposition: attachment; filename=aaa.zip(???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄤ互涓?杞芥?瑰???寮??版??)
??ransfer-Encoding: chunked(???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄦ?版????浼????煎?)
Set-Cookie:SS=Q0=5Lb_nQ; path=/search
ETag: (缂?瀛??稿?崇??澶?
Expires: -1(???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄦ????????璧?婧?缂?瀛?澶??挎?堕?達?-1??0锛?????涓?缂?瀛?)
Cache-Control: no-cache (???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄤ?瑕?缂?瀛???????璧?婧?)
Pragma: no-cache(???″?ㄩ??杩?杩?涓?澶達???璇?娴?瑙??ㄤ?瑕?缂?瀛???????璧?婧?)
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
1.6 Tip10锛?HTTP璇鋒???缁????????ㄤ俊??澶?
???ㄤ俊??澶存???㈣?界?ㄤ?璇鋒?锛????界?ㄤ???搴???涓?浜?娑???澶淬??
Cache-Control: no-cache
Pragma: no-cache
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
1.7 Tip11锛?浣?涓?
璇峰??涓?绡??充?HTTP??璁???绗?璁幫?瑕?姹?锛?
??杩版?妤?HTTP璇鋒?澶淬????搴?澶寸???煎?
璇鋒?澶村????搴?澶翠腑??涓?澶村??娈電????涔?
濡???娴?瑙??ㄤ???缁?WEB???″?ㄧ?????闆??瀹矽?杩?1K锛?搴?璇ヤ嬌?ㄩ?g??瑰?????璇鋒?娑???锛?
璇鋒??杩?00??302??304??404??500绛???搴??舵??????琛ㄧず????涔???
璇峰??涓句?绉?绂?姝㈡?瑙??ㄧ?瀛???澶村??娈碉?骞跺???虹?稿???璁劇疆?箋??