HTTP协议详解

HTTP协议简介
HTTP协议,全称为HyperTextTransferProtocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是www服务。设计HTTP协议最初的目的就是提供一种发布和接收HTML(一种页面标记语言)页面的方法。HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和web服务器之间的通信,即WWW应用或称web应用。WWW,全称为 World Wide Web,常称为Web,中文译为“万维网”。它是目前互联网上最受用户欢迎的信息服务形式。HTTP协议的wwW服务应用的默认端口为80,另外一个加密的www服务应用https的默认端口为443,主要用于网银、支付等和钱
相关的业务。
2、HTTP协议版本
HTTP协议从诞生之初到现在已经经历了若干个版本,其中最主要的版本为HTTP/1.0、HTTP/1.1。HTTP/1.0是第一个得到广泛使用的版本,而HTTP1.1为当前使用的主流版本
HTTP1.0简介
HTTP1.0是第一个得到广泛使用的HTTP版本。HTTP/1.0在HTTP0.9的基础上增
加了HTTP请求头,可支持更多的请求方法,并且能对多媒体对象进行处理。HTTP/1.0
使得包含生动图片的Web页面和交互式表格成为可能,而正是这些页面和表格促使互联
网被人们广泛地接受。HTTP/1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次
请求都需要与服务器建立一个TCP连接,服务器完成请求处理后即断开TCP连接,服
务器不跟踪每个客户,也不记录过去的请求。
HTTP1.1简介
HTTP1.1的重点是修复HTTP设计中的缺陷,从可扩展性、缓存处理、带宽优化、持久连接、host头、错误通知、消息传递、内容协商等多个方面都做了相关改进。HTTP/1.1是当前互联网主流的HTTP版本。在连接方面,HTTP1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟。在请求头方面,HTTP/1.1增加了更多的请求头和响应头信息,用以增强HTTP功能。例如:host主机头功能,可以让web浏览器使用主机头名来明确表示要访问服务器上的哪个Web站点,这样就可以使用web服务器在同一个IP地址和端口号上配置多个虚拟web站点。
HTTP1.1的持久连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为 Keep-Alive时,表示客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为 close时,表示客户端通知服务器返回本次请求结果后关闭连接。HTTP/1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头等。
3、HTTP请求方法
在HTTP通信中,每个HTTP请求报文都包含一个方法。用以告诉web服务器端需要执行哪些具体的动作,这些动作包括:获取指定Web页面、提交内容到服务器、删除服务器上资源文件等,这些HTP请求报文中包含的方法被称为HTTP请求方法。其中,常用的HTTP请求方法见下表
在这里插入图片描述
HTTP状态码
HTTP状态码介绍
HTTP状态码(HttpStatusCode)是用来表示web服务器响应HTTP请求状态的数字代码。每当Web客户端向Web服务器发送一个HTTP请求时,web服务器都会返回一个状态响应代码。这个状态码是一个三位数字代码,作用是告知Web客户端此次请求是否成功,或者是否要采取其他的动作方式。
在操作过程中最常见的状态码如下
在这里插入图片描述
在这里插入图片描述
HTTP报文
HTTP报文中有很多行内容,这些行的字段都是由一些ASCI1码串组成,但各个字段的长度是不同的。HTTP报文可分为两种,一种是从Web客户端发往web服务器的HTTP报文,称为请求报文(RequestMessage)。另外一种是从web服务器发往Web客户端的报文,称为响应报文(ResponseMessage),HTTP的请求和响应报文的格式类似。
1.HTTP请求报文(RequestMessage)介绍
HTTP请求报文由请求行、请求头部( header)、空行和请求报文主体几个部分组成,如下表
在这里插入图片描述
HTTP响应报文(ResponseMessage)介绍
HTTP响应报文由起始行、响应头部( header)、空行和响应报文主体这几个部分组
成,和HTTP请求报文格式类似。下表给出了HTTP响应报文的一般格式。
在这里插入图片描述
HTTP协议原理
HTTP协议属于OSI模型中的第七层应用层协议,HTTP协议的重要应用就是WWW服务应用,下面就以Www服务应用为例介绍HTTP协议的通信原理。以HTTP协议进行通信时,需要有客户端(即终端用户)和服务器端(即Web服务器),在web客户端向web服务器发送请求报文之前,先要通过TCP/IP协议在Web客户端和服务器之间建立一个TCP P连接。整个HTTP协议请求的工作流程如下:
1)终端客户在Web浏览器地址栏输入访问地址http:/w. etiantian. org/index. html
2)Web浏览器请求DNS服务器把域名www.etiantian.org转换成Web服务器的IP地址,此处的解析过程就是DNS解析的原理流程,前面已经讲过了,此处不再赘述。
3)Web浏览器将端口号(默认是80)从访问地址(URL)中解析出来。
4)web浏览器通过解析后的IP地址及端口号与Web服务器之间建立一条TCP连接。
5)建立TCP连接后,Web浏览器向Web服务器发送一条HTTP请求报文,请求报文的内容格式及信息细节前面已经讲过了,此处不再赘述。
6)web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文,响应报文的内容格式及信息细节前文也已经讲过了,此处不再赘述。
7)Web服务器关闭HTTP连接,关闭TCP连接,Web浏览器显示访问的网站内容到屏幕上。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值