应用层协议之HTTP

  在因特网中应用层协议有很多,http,smtp.ftp等等协议,这些协议规定了数据在网络传输中的格式。这里主要介绍下http协议。

HTTP的操作过程

  http协议定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
  HTTP规定在HTTP客户与HTTP服务器之间的的每次交互,都由一个ASCII码串构成的请求和一个类似的通用因特网邮件扩充,即“类MIME”的响应组成。HTTP报文通常都使用TCP连接传送。
   当我们在浏览器中输入www.baidu.com会发生什么呢?
   (1)浏览器向DNS请求解析www.baidu.com的ip地址。
   (2)域名系统DNS解析出百度的ip地址为202.108.22.5。
   (3)浏览器与服务器建立TCP连接(在服务器端ip地址是202.108.22.5,端口号80)
   (4)浏览器发出取文件命令:GET/www.baidu.com
   (5)服务器www.baidu.com给出响应,把文件发送给浏览器。
   (6)释放TCP连接
   HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。HTTP不必考虑数据在传输及过程中被丢弃后又怎样被重传。但是,HTTP协议本身是无连接的。

HTTP的报文结构

   HTPP有两类报文:
   (1)请求报文——–从客户端向服务器发送请求报文。
   (2)响应报文——–从服务器到客户端的回答。
   这里写图片描述
   这里写图片描述
   HTTP请求报文和响应报文都是由三个部分组成,这两种 报文格式的区别就是开始行不同。
   (1)开始行,用于区分是请求报文还是响应报文。在请求报文中的开始行叫做请求行(Request-Line),而在响应报文中的开始行交做状态行(Status-Line)。在开始行的三个字段之间都是以空格分隔开,最后的“CR”和“LF”分别代表“回车”和“换行”。
   (2)首部行,用来说明浏览器、服务器或保温主体的一些信息。首部可以有好几行,但是也可以不使用。在每一个首部行中都有首部字段名和它的值,每一行在 结束的地方都要有“回车”和“换行”。整个首部行结束时,还有一个空行将首部行和后面的实体主体分开。
   (3)实体主体,在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。
   HTTP请求报文的一些方法
   PITION:请求一些选项的信息
   GET:请求读取URL所标志的信息
   HEAD:请求读取URL所标志的信息的首部
   POST:给服务器添加信息(注释)
   PUT:在知名的URL下存储一个文档
   DELETE:删除指明的URL所标志的资源
   TRACE:用来进行环回测试的请求报文
   CONNECT:用于代理服务器
 HTTP响应报文的主要特点
 每一个请求报文发出后,都能收到一个响应报文。响应报文的第一行就是状态行。状态行包括三项内容,即HTTP的版本,状态码,以及解释状态码的简单短语。状态码都是三位数字的,分5大类共33种(见RFC 2616),例如
 1XX表示通知信息的,如请求收到了或正在进行处理。
 2XX表示成功,如接受或知道了
 3XX表示重定向,如要完成请求还必须采取进一步的行动。
 4XX表示客户端的差错,如请求中有错误的语法或不能完成。
 5XX表示服务器的差错,如服务器失效无法完成请求。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值