5、HTTP协议

HTTP协议

  • 相关概念
  • 请求消息
  • 响应消息

一、相关概念

1.1、什么是Http协议?

  HTTP(Hyper Text Transfer Protocol):超文本传输协议,定义了客户端和服务器通信时发送数据的格式。属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

1.2、Http协议的特点

  1. 基于TCP/IP的高级协议
  2. 默认端口号:80
  3. 基于请求/响应模型的(一次响应对应一次请求)
  4. 无状态的,每次请求之间相互独立,不能交互数据

1.3、Http协议的历史版本

  • 1.0:每一次请求响应都会建立新的连接
  • 1.1:会复用连接

二、请求消息数据格式

2.1、请求行

1)、请求行的格式如下:

              请求方式		      请求url		     请求协议/版本
//              GET			/html/login.html		HTTP/1.1

2)、HTTP协议的7种请求方式:

  1. GET:请求参数都在请求行中(位于URL之后),且请求参数的长度有限制。支持快取、缓存、保留书签等
  2. POST:请求参数都在请求体中,但是请求参数长度没有限制。
  3. HEAD:
  4. PUT:
  5. DELETE:
  6. CONNECT:
  7. OPTIONS:

2.2、请求头

1)、请求头格式如下:

	   请求头名称:值12  ......
//     User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0

2)、常见的请求头:

  1. User-Agent:告诉服务器我使用的浏览器版本信息【可以通过后台获取此信息,用于解决浏览器兼容性问题】
  2. Referer:告诉浏览器我(当前请求)从哪儿来。可以用于防盗链、统计工作。
  3. Accept:告诉服务器,当前浏览器可以解析的文档信息。
  4. Accept-Encoding:告诉服务器,当前浏览器可以支持的压缩格式

2.3、请求空行

  就是一个空行,用于分割请求头和请求体

2.4、请求体

  主要用于封装Post请求消息的请求参数,个数如下

      属性名=属性值
//    name=zhangsan
//    psw=qwer1234
//    ......

三、响应消息数据格式

3.1、响应行

1)、响应行的格式

    协议/版本    响应状态码    状态码描述
//  HTTP/1.1        200          OK

2)、响应状态码

  • 1XX:服务器接收客户端消息,但是没有接受完,等待一段时间后发送1XX状态码询问客户端还有没有数据
  • 2XX:成功。
  • 3XX:重定向。302,重定向。304,访问缓存(图片)。
  • 4XX:客户端错误。404,请求路径不存在。403,没权限。
  • 5XX:服务器端错误。

3.2、响应头

1)、响应头的格式

	      名称                   格式
//    Content-Type:    text/html;charset=UTF-8
//    Content-Length:  101
//    Date:            Web,06 Jun 2018 07:08:42 GMT

2)、常见的响应头

  • Content-Type:服务器告诉客户端本次响应体的数据格式和编码方式(text/html;charset=utf-8)
  • Content-disposition:服务器告诉客户端以什么格式打开响应体数据。(默认in-ling)
    1. in-line:默认值。在当前页面中打开
    2. attachment;filename=xxx:以附件形式打开响应体。文件下载等。

3.3、响应空行

​ 一个空行,用于分割响应头和响应体。

3.4、响应体

​ 真实传输的数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值