http协议简介(共26张)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第11页,共26页。
Http协议 概述 (xiéyì)
状态行:
response的第一行是状态行,由协议版本以及数字状态码和相关的文本说明组成,HTTP版本 +状态 码 + 原因短语
如:HTTP/1.1 200 OK HTTP/1.1 404 Not Found
状态码:
1XX-信息类(Information),表示收到Web浏览器请求,正在进一步的处理中 2XX-成功类(Successful),表示用户请求被正确接收,理解和处理例如:200 OK 3XX-重定向类(Redirection),表示请求没有成功,客户必须采取进一步的动作。
第13页,共26页。
Http协议 概述 (xiéyì)
请求正文
请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下 来的是请求正文。请求正文中可以包含客户提交的查询字符串信息:
mode=edit&displayunit=&Id=2
响应正文
响应正文是指服务器返回的文档,最常见的为HTML网页,响应头和正文之间也必须 用空行分隔
类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取 304 Not Modified
客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服 务器告诉客户,原来缓冲的文档还可以继续使用。
Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码 Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。 Authorization请求报头域主要用于证明客户端有权查看某个资源。当浏览器访问一个页面时,如果收到服务器的响应代码 为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。 Content Length:表示请求消息正文的长度。 From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。
Http协议 概述 (xiéyì)
第1页,共26页。
HTTP协议 概述 (xiéyì)
HTTP协议定义
超文本传输协议(HyperText Transfer Protocol)
http是什么?
当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,我们 在浏览器的地址栏里输入的网站地址叫做URL(统一资源定位符),就像每家每户都有一个门牌地 址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一 个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器 上站点的网页代码提取出来,并翻译成网页。
指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容 407 Proxy Authentication Required
类似于401,表示客户必须先经过代理服务器的授权。
305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取 400 Bad Request
请求出现语法错误。 401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对 话框,然后在填写合适的Authorization头后再次发出请求。
Host(发送请求时,该报头域是必需的)Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取 出来的
User-Agent User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器,不过,这个报头域不是必 需的。
Cookie:服务器存储在客户端的信息,每次请求都会将服务器保存在客户端的cookies中
第7页,共26页。
Http协议 概述 (xiéyì)
请求头:
由关键字/值对组成,每行一对,关键字和值用冒号(:)分隔。请求头标通知服务器有关于客户端的功能 和标识,典型的请求头标有:
Accept请求报头域用于指定客户端接受哪些类型的信息 Accept-Charset请求报头域用于指定客户端接受的字符集
201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。
203 Non-Authoritative Information
文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝
204 No Content 没有新文档,浏览器应该继续显示原来的文档。
客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应 该在Location应答头指明。 301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。 302 Found
类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。 303 See Other
请求方法:
GET POST PUT DELETE TRACE ,OPTIONS 等这些 我们常用的method有GET和POST
所用的协议:
目前一般常用的是HTTP/1.1, 0.9,1.0已经基本不用.
请求行示例:
POST /oris-common-master-portlet/catchmentZone/get.do?mode=edit&displayunit=&Id=2 HTTP/1.1
跟请求头一样,也是由关键字/值对组成,每行一对,关键字和值用冒号(:)分隔。典型的响应头标有:
Allow:
服务器支持哪些请求方法(如GET、POST等)。
Content-Encoding: 文档的编码(Encode)方法
Content-Length: 表示内容长度
Content-Type:表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/htm
第8页,共26页。
Http协议 概述 (xiéyì)
请求头示例:
Host: localhost:8080
Connection: keep-alive
Content-Length: 0
Accept: */*
Origin: http://localhost:8080 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Referer:http://localhost:8080/web/commenmaster1/commonmaster?p_auth=VyE3Xuy0&p_p_id=commonmasterportlet_ WAR_oriscommonmasterportlet&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column1&p_p_col_count=1&_commonmasterportlet_WAR_oriscommonmasterportlet_javax.portlet.action=doRenderPage Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.8 Cookie:COOKIE_SUPPORT=true;COMPANY_ID=1; ID=66466b63383878647672553d;USER_UUID=IDZcheyfFMV75PPlSrIHk0azUWCYpbNB; LOGIN=74657374; PASSWORD=5937365a764731443241633d; REMEMBER_ME=true; SCREEN_NAME=59426450565851685373493d; JSESSIONID=eQkP15kq8XuYawqVgoDcxuRc; GUEST_LANGUAGE_ID=en_US
4XX-客户端错误(Client Error),表示客户端提交的请求有错误 例如:404 NOT Found,意味着请 求中所引用的文档不存在。
5XX-服务器错误(Server Error)表示服务器不能完成对请求的处理:如 500
第12页,共2Байду номын сангаас页。
Http协议 概述 (xiéyì)
消息报头(响应头):
205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容
206 Partial Content
客户发送了一个带有Range头的GET请求,服务器完成了它
第15页,共26页。
Http协议 概述 (xiéyì)
300 Multiple Choices
第2页,共26页。
Http协议 概述 (xiéyì)
Http协议特点
1.简单快速:客户向服务器请求服务时,只需传送请求方法和 路径。
2.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型 由Content-Type加以标记。
3.无连接:限制每次连接只处理一个请求。理完客户的请求,即 断开连接。
第9页,共26页。
Http协议 概述 (xiéyì)
请求正文
请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的 是请求正文。请求正文中可以包含客户提交的查询字符串信息:
mode=edit&displayunit=&Id=2
第10页,共26页。
Http协议 概述 (xiéyì)
第16页,共26页。
Http协议 概述 (xiéyì)
403 Forbidden 资源不可用。 404 Not Found
无法找到指定位置的资源
405 Method Not Allowed 请求方法(GET、POST、HEAD、Delete、PUT、TRACE等)对指定的资源不适用。 406 Not Acceptable
第14页,共26页。
Http协议 概述 (xiéyì)
一些常见的HTTP协议状态码的含义
100 Continue
初始的请求已经接受,客户应当继续发送请求的其余部分
101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK
一切正常,对GET和POST请求的应答文档跟在后面
Date:当前的GMT时间
Last-Modified:文档的最后改动时间
Location:表示客户应当到哪里去提取文档
Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计
Server:服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。
Set-Cookie:设置和页面关联的Cookie
4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理 没有记忆能力。
第3页,共26页。
Http协议 概述 (xiéyì)
http是如何工作的
第4页,共26页。
Http协议 概述 (xiéyì)
第5页,共26页。
Http协议 概述 (xiéyì)
请求行:
请求方法 + 请求路径 + 所用的协议
第6页,共26页。
Http协议 概述 (xiéyì)
GET与POST方法的区别:
1.在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置 在HTML HEADER内提交。
2.GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
3.安全性问题。正如在 1 中提到,使用 Get 的时候,参数会显示在地址栏上, 而 Post 不会,Post安全性方面更为好一点。所以,如果这些数据是中文数据而且是非敏感 数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使 用 post为好。
相关文档
最新文档