- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
马兴
江苏大象信息技术服务有限公司
漫谈
2016.8.8
HTTP
CONTENTS
目 录
基本情况
工作原理
01
02
报文详解
发展历程
03
04
05
总结展望
01
基本情况
HTTP概述
全称HyperText Transfer Protocol,即超文本传输协议
默认端口号80
属于应用层协议
基于TCP
HTTP的诞生
1960年Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本
Ted Nelson组织协调万维网协会和Internet工作小组共同合作研究,最终发布了一系列的RFC
RFC 2616定义了HTTP协议的我们今天普遍使用的一个版本——HTTP 1.1
这成为HTTP超文本传输协议标准架构的发展根基
HTTP基本术语
客户端:通常是浏览器
服务端:web服务器
请求:客户端到服务端的请求消息
响应:服务端对客户端请求返回状 态码
02
工作原理
URL
如何发起请求?
?
先通过URL,Uniform Resource Locator,即统一资源定位符建立连接
http://host[:port][abs_path]
这里的host可以是主机域名也可以是IP地址,port后为端口号,为空时使用默认端口80
例:/
16:8080/
HTTP工作流程
关键词
请求响应
1
2
3
4
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
建立连接
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据组成。
发送HTTP请求
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
服务器接受请求并返回HTTP响应
Web服务器主动关闭TCP套接字,释放TCP连接;客户端被动关闭TCP套接字,释放TCP连接。
释放连接TCP连接
HTTP的几种请求方式
GET
向指定资源位置上传其最新内容
PUT
回显服务器收到的请求主要用于测试或诊断
TRACE
向指定资源提交数据进行处理请求
请求服务器删除Request-URI所标识的资源
DELETE
预留给能够将连接改为管道方式的代理服务器
CONNECT
向特定的资源发出请求
POST
HTTP GET方法和POST方法区别
HTTP GET
HTTP POST
GET是从服务器上获取数据,GET 是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到,GET传送的数据量较小,不能大于2KB
POST是向服务器传送数据,POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,POST传送的数据量较大,一般被默认为不受限制
HTTP相应状态码
2XX
4XX
3XX
1XX
表示临时响应并需要请求者继续执行操作的状态码
完成请求,需要进一步操作。通常,这些状态码用来重定向。
表示成功处理了请求的状态码。
这些状态码表示请求可能出错,妨碍了服务器的处理。
5XX
这些状态码表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
03
报文详解
HTTP报文格式
请求报文由请求行、请求头部、空行和请求数据组成:
HTTP报文格式
响应报文由状态行、响应头部、空行和响应数据组成:
HTTP报文
HTTP报文
HTTP报文
HTTP报文
报文详解
User-Agent
Accept
connection
host
01
02
03
04
产生请求的浏览器类型本
请求的主机名,允许多个域名同处一个IP 地址
客户端可识别的响应内容类型列表
单连接方式(close 或 keepalive)
04
发展历程
历史版本
一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。
为了克服HTTP 1.0的这个缺陷,HTTP 1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。
HTTP 1.1
HTTP 1.1还通过增加更多的请求头和响应头来改进和扩充HTTP 1.0的功能。在HTTP 1.1中增加Host请求头字段后,WEB浏览器可以使用主机头名来明确表示
原创力文档


文档评论(0)