HTTP协议和BS应用基本原理PPT资料.ppt
- 文档编号:14290964
- 上传时间:2022-10-21
- 格式:PPT
- 页数:39
- 大小:1.41MB
HTTP协议和BS应用基本原理PPT资料.ppt
《HTTP协议和BS应用基本原理PPT资料.ppt》由会员分享,可在线阅读,更多相关《HTTP协议和BS应用基本原理PPT资料.ppt(39页珍藏版)》请在冰豆网上搜索。
已过时,只接受GET,未指定版本号,不支持请求头Http1.0:
至今仍被广泛采用Http1.1:
当前版本,持久连接、缓存处理等,Http协议解析-请求,Url格式:
http:
/host“:
”portabs_pathport默认80abs_path没有的话,则必须给出“/”(通常浏览器可自动格式化)举例如输入,则自动转换为http:
/http:
/192.168.0.116:
8080/index.aspx,Http协议解析-请求,请求由3部分组成:
请求行、消息报头、请求正文请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如:
MethodRequest-URIHTTP-VersionCRLFMethod表示请求方法(全为大写),各个方法的解释如下:
GET请求获取Request-URI所标识的资源POST在Request-URI所标识的资源后附加新的数据HEAD请求获取由Request-URI所标识的资源的响应消息报头PUT请求服务器存储一个资源,并用Request-URI作为其标识DELETE请求服务器删除Request-URI所标识的资源TRACE请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT保留将来使用OPTIONS请求查询服务器的性能,或者查询与资源相关的选项和需求Request-URI是一个统一资源标识符HTTP-Version表示请求的HTTP协议版本CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符),Http协议解析-请求,请求行应用举例GET方法:
GET/form.htmlHTTP/1.1(CRLF)POST方法:
POST/reg.jspHTTP/(CRLF)Accept:
image/gif,image/x-xbit,.(CRLF).HOST:
(CRLF)Content-Length:
22(CRLF)Connection:
Keep-Alive(CRLF)Cache-Control:
no-cache(CRLF)(CRLF)/该CRLF表示消息报头已经结束,在此之前为消息报头user=jeffrey&
pwd=1234/此行以下为提交的数据HEAD方法:
与GET方法几乎一样。
不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。
PUT方法:
WebDav协议上传文件用此协议实现,Http协议解析-请求,消息报头Accept用于指定客户端接受哪些类型的信息。
eg:
Accept:
image/gif,表明客户端希望接受GIF图象格式的资源;
text/html,表明客户端希望接受html文本。
Accept-Charset用于指定客户端接受的字符集。
Accept-Charset:
iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。
Accept-Encoding用于指定可接受的内容编码。
Accept-Encoding:
gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。
Accept-Language用于指定一种自然语言。
Accept-Language:
zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。
Http协议解析-请求,消息报头Authorization用于证明客户端有权查看某个资源。
当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。
Host(发送请求时,该报头域是必需的)用于指定被请求资源的Internet主机和端口号,它通常从HTTPURL中提取出来的,eg:
/包含Host请求报头域,Http协议解析-请求,消息报头User-Agent如我们上网登陆论坛的时候,看到一些欢迎信息列出了你的操作系统的名称和版本以及你所使用的浏览器的名称和版本,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息。
请求报头举例,如:
User-Agent:
Mozilla/4.0(compatible;
MSIE6.0;
WindowsNT5.0)(CRLF),Http协议解析响应,响应包括:
状态行、消息报头、响应正文状态行格式:
HTTP-VersionStatus-CodeReason-PhraseCRLFHTTP-Version表示服务器HTTP协议的版本Status-Code表示服务器发回的响应状态代码Reason-Phrase表示状态代码的文本描述状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:
指示信息-表示请求已接收,继续处理2xx:
成功-表示请求已被成功接收、理解、接受3xx:
重定向-要完成请求必须进行更进一步的操作4xx:
客户端错误-请求有语法错误或请求无法实现5xx:
服务器端错误-服务器未能实现合法的请求常见状态代码:
200OK/客户端请求成功400BadRequest/客户端请求有语法错误,不能被服务器所理解401Unauthorized/请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用403Forbidden/服务器收到请求,但是拒绝提供服务404NotFound/请求资源不存在,eg:
输入了错误的URL500InternalServerError/服务器发生不可预期的错误503ServerUnavailable/服务器当前不能处理客户端的请求,一段时间后可能恢复正常,Http协议解析响应,消息报头LocationLocation响应报头域用于重定向接受者到一个新的位置。
Location响应报头域常用在更换域名的时候。
ServerServer响应报头域包含了服务器用来处理请求的软件信息。
与User-Agent请求报头域是相对应的。
eg:
Server:
Apache-Coyote/1.1WWW-AuthenticateWWW-Authenticate响应报头域必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候,并发送Authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。
WWW-Authenticate:
Basicrealm=BasicAuthTest!
/可以看出服务器对请求资源采用的是基本验证机制。
Http协议-消息报头,按其作用分为4种类型普通报头用于所有的请求和响应消息,但并不用于被传输的实体请求报头用于客户端向服务器端传递请求的附加信息以及客户端自身的信息,见前述响应报头用于服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息,见前述实体报头请求和响应消息都可以传送一个实体。
一个实体由实体报头域和实体正文组成,但并不是说实体报头域和实体正文要在一起发送,可以只发送实体报头域。
实体报头定义了关于实体正文(eg:
有无实体正文)和请求所标识的资源的元信息。
Http协议-消息报头,普通报头Cache-Control用于指定缓存指令,缓存指令是单向的,且是独立的,HTTP1.0使用的类似的报头域为Pragma请求时的缓存指令包括:
no-cache(用于指示请求或响应消息不能缓存)、no-store、max-age、max-stale、min-fresh、only-if-cached;
响应时的缓存指令包括:
public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age、s-maxage.Date普通报头域表示消息产生的日期和时间Connection普通报头域允许发送指定连接的选项。
例如指定连接是连续,或者指定“close”选项,通知服务器,在响应完成后,关闭连接,Http协议-消息报头,实体报头Content-Encoding用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。
Content-Encoding这样用于记录文档的压缩方法,eg:
Content-Encoding:
gzipContent-Language描述了资源所用的自然语言。
没有设置该域则认为实体内容将提供给所有的语言阅读者。
Content-Language:
daContent-Length用于指明实体正文的长度,以字节方式存储的十进制数字来表示。
Content-Type指明发送给接收者的实体正文的媒体类型。
Content-Type:
text/html;
charset=GB2312Last-Modified用于指示资源的最后修改日期和时间。
Expires给出响应过期的日期和时间。
为了让代理服务器或浏览器在一段时间以后更新缓存中的页面,我们可以使用Expires实体报头域指定页面过期的时间。
HTTP1.1的客户端和缓存必须将其他非法的日期格式(包括0)看作已经过期。
为了让浏览器不要缓存页面,我们也可以利用Expires实体报头域,设置为0,Http协议相关技术,代理一个中间程序,它既充当一个服务器,也充当一个客户机,为其它客户机建立请求。
一个代理在发送请求信息之前,必须解释并且如果可能重写它。
代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。
HTTP协议ContentLenth限制漏洞导致拒绝服务攻击使用POST方法时,可以设置ContentLenth来定义需要传送的数据长度,例如ContentLenth:
999999999,在传送完成前,内存不会释放,攻击者可以利用这个缺陷,连续向WEB服务器发送垃圾数据直至WEB服务器内存耗尽,Http协议-Demo,利用telnet观察http协议的通讯过程打开telnet打开telnet:
运行-cmd-telnet打开telnet回显功能:
setlocalecho连接服务器并发送请求HEAD使用open80/注意端口号不能省略HEAD/HTTP/1.0Host:
两次回车OPEN使用open80GET/index.aspHTTP/1.0/请求资源的内容Host:
两次回车,B/S应用基本原理,B/S中的S(服务器)是一种计算机硬件服务器应该算是一种高性能的计算机,它作为网络的节点,存储、处理网络上的数据、信息也是一种计算机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HTTP 协议 BS 应用 基本原理
![提示](https://static.bdocx.com/images/bang_tan.gif)