该用户从未签到
|
1、http协议(了解)
/ _9 P! l7 z; k, `2 w- S 1)http协议是什么?
6 S7 _" Z/ R" j8 K2 v- _, {. f 超文本传输控制协议(hypertext transport protocal)。- B% g; W. i: ]% o/ p
是一种应用层协议,定义了浏览器(也可以是其它程序)
6 y: u C/ U8 F与web服务器之间通讯的过程与数据的格式。
3 A7 t F/ g9 Y& h4 V/ T0 S; K7 X/ J9 L 2)通讯的过程
5 ]6 r# I9 n4 T6 S' B' H1 Z a,浏览器向服务器发送建立连接的请求。
& m& K7 K7 C. V) \+ ~/ t; N' F2 a b,浏览器先将请求数据打包,向服务器发送请求。1 A7 E( r/ J* f% q) O
c,服务器处理完请求,然后将数据打包,发送给浏览器。
3 X# C3 m/ d+ m, A# w# E, K4 T8 m d,服务器发送完数据,并闭连接。
' F1 A8 k( Z( W6 q/ `0 V$ {7 q 如果浏览器要向服务器再次发送请求,需要重新4 Y" L$ ~! a$ h* d& H+ ]
建立连接。也就是说,浏览器与服务器之间的连接,. ]' H9 b8 j3 d$ t; C" S
只能处理一次请求,然后立即关闭。这种通讯方式,
, R+ o$ y# h; S ?5 X+ J 可以让服务器以有限的资源为更多的客户端服务。% J0 o8 _- e2 _, S4 ?- u3 r5 M. J
3)数据包的结构
9 _+ {1 Z8 F7 S a,请求数据包的结构
$ F) I& W! J1 v* J 第一部分:
- Y1 N5 o" z/ `! x; Z( {9 ^# o& o 请求行:
3 ~2 p6 Q2 b6 k% X% c4 U; C7 q 请求方式(get/post)
N: N! B' Q5 t" p 请求资源路径
& x9 o n& I$ A, r 协议的类型与版本
. b8 x9 T5 A' _- S( ^ 第二部分:
, M7 z T1 h b$ L 若干消息头:
/ N) [- M+ O/ A( `- u) x1 Z0 C 消息头由w3c定义的一些有特殊含义的键值对,
4 L2 E, S* i6 y: u" q 比如:content-type= text/html;# O4 ?! I8 B6 x5 d# X4 g
服务器和浏览器都会遵守这些消息头的约定。/ ]! h" U; @0 x$ _0 n# z
消息头一般由服务器或者浏览器自动生成,但是
) h9 N5 e: y& R; a ,也可以通过编程的方式来生成。6 _. P5 R2 R6 ^& m8 R+ x+ C
第三部分: |, @6 K2 M% z- J9 W
实体内容: O/ m- x" Y S( W
如果请求方式是post方式,请求参数及值会
D" ^& V3 a! V3 L0 b; I 放在这儿。如果请求方式是get方式,请求参数
; ?/ W5 p8 L( f5 \! E2 N! V) f 与值是包含在请求资源路径里面。
( t" b; P3 P* w7 `: p- G 8 D6 C5 A! q* Y5 w ]5 i
b,响应数据包的结构, `7 [% w1 |: e, S* \; r" l
第一部分:) |6 ~) {* c0 D5 T3 ~' j/ m
状态行:
" ]8 O9 c" }% O1 ^0 [$ o& w1 a 协议的类型与版本4 f" d2 U: C- ?4 P) E" E! h
状态码(状态码是一个数字,不同的数字代表
( K1 F4 s' `3 f9 w 不同的含义,比如
5 ~0 _5 `8 W0 k& U 500:系统错误(即程序代码有误)
+ F- x- S0 W5 o, c& [% E 404:找不到资源(访问路径错误)
" _0 v; d8 g( r! Y$ e 200:正确)
& J- {6 C2 s7 q 状态码的描述
* {1 i3 J& q+ I0 m' b! k( P' M 第二部分:
" ~0 C* S3 q' x1 T$ v3 L 若干消息头:
5 Q/ Q& S# `. y0 V. ~' U; h8 X C* D 第三部分:
; k5 B+ g8 g' Q& R7 r. I) W 实体内容:1 o- W: Z- l0 W" s) ]% B
服务器返回给浏览器的处理结果。0 R# I; ]+ o/ B! c% A* O
. _& _/ T1 u* L5 X; T
|
|