http报文结构解析

欢迎关注微信公众号,想进入大型互联网公司的或提升自己能力的搜索微信公众号:“一起写程序” ,会分享系列文章,面试题等,希望大家能一起学习。

 

1,http的协议结构详解?

 

问题1:请求报文和响应报文的区别?

请求报文和响应报文唯一的区别就是,请求报文是请求行,响应报文是状态行。

 

问题2:请求报文和响应报文都是由哪三部分组成的?

请求报文:请求行,首部行,信息主体。

响应报文:状态行,首部行,信息主体。

 

问题3:http是为什么是无状态协议?

无状态协议:http协议不要去服务器保留(记忆)客户端任何的状信息。这样服务器端设计会变的简单。

 

问题4:http是否持续连接?

非持续连接:一个对象,一次tcp连接。

持续连接:只要是同一个服务器上的,一次连接。服务器发送多少个对象都不用重新连接。

例如:浏览一个网页有5张图片,浏览器请求服务器,服务器发送过来6个对象,5张图片和html文件。

如果是非持续连接,就需要tcp连接6次才能发送完。所有非常耗时间。而面向连接的只需要一次连接。(请求报文的connect方法有两个状态:keep-alive 和 close。

Close表示发送完这个请求对象之后,就可以关闭连接。(一个对象对于一个请求)

Keep-alive:表示发送完该对象,继续保持连接。)

 

在http1.0时候,不支持持续连接。

http1.1开始支持持续连接。

 

 

问题:请求报文格式:

请求行:

问题1:什么决定了请求报文的作用?

(1)方法:所谓的方法就是对请求的对象进行的操作,实际上就是一些命令。

所以请求报文的作用和类型由方法决定。

方法(操作)

作用

Get

请求url标志的文档。(请求url所对应的文档)

Post

向服务器发送数据

delete

删除url所对应的文档。

Put

在指明url下存储一个文档。

Head

请求url标志的文档的首部。

Option

请求一些选项的信息。

Trace

用来进行还回测试的请求报文。

Connect

用于代理服务器。

 

(2) url资源定位符,是请求方法的操作对象?

(3) 版本?

http1.0还是http1.1版本。

(4) CRLF是回车空格。

 

首部行:用来说明浏览器或者服务器的一下信息。

首部行可以有很多,也可以没有。

问题1:首部行包含两部分?

首部字段和它的值。

 

信息主体:

一般请求报文没有信息主体,只有在想服务器发送数据的时候,才会有信息主体。

 

(二)响应报文:

(1)响应报文的第一行是状态行:http版本,状态码,短语。

(2)状态行包括:http的版本,状态码,短语。

状态码是对客户端的反馈。

(3)短语:用来解释状态码的。

状态码:一般都是三个数字。

分为5打类,33种。

1XX:表示通知的信息,如:请求正在处理。

2XX:表示成功,如接受或知道了。

3XX:表示重定向,表示要完成请求,必须采取进一步的行动。

4XX:表示客户的差错,如请求有错误的语法或不能完成。

5XX:表示服务器的差错,如服务器失效无法完成请求。

 

服务器给客户端的状态:我知道了,我正在处理,我还需要其他资源才能处理,你发错了,我不能解决。五种状态。

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值