我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > http协议是什么?(hypertext transport protocal)
总共48086条微博

动态微博

查看: 1636|回复: 0

http协议是什么?(hypertext transport protocal)

[复制链接]

326

主题

72

听众

999

金钱

实习版主

该用户从未签到

优秀版主

跳转到指定楼层
楼主
发表于 2014-05-13 21:05:05 |只看该作者 |正序浏览
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

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表