http协议

特点

  1. 无连接:不同的请求之间相互独立。
  2. 无状态:无状态是指协议对于事务处理没有记忆能力。
  3. 支持客户端/服务端模式。
  4. 简单快速:客户端向服务器请求服务时,只需传送请求方法和路径。
  5. 独立灵活:意味着只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type 来传输。

HTTP请求

http请求组成
在这里插入图片描述
可以看到,由以下四部分组成

  1. 请求行
  2. 请求头
  3. 请求体

请求行

请求行由请求方法,URL,http版本组成

请求方法:

请求方法含义
GET获取资源
POST增加新的数据
HEAD获取资源的响应消息报头
PUT修改一个资源
DELETE删除资源

请求头

请求头:也被称作消息报头,请求头是由一些键值对组成,每行一对,关键字和值用英文冒号“:”分隔。

  • Accept
    作用:指定客户端能够接收的内容类型
    示例:Accept:text/html
  • Accept-Charset
    作用:浏览器可以接受的字符编码集
    示例:Accept-Charset:utf-8
  • Accept-Encoding
    作用:指定浏览器可以支持web服务器返回内容的压缩编码类型
    示例:Accept-Encoding:gzip
  • Accept-Language
    作用:浏览器可接受的语言
    示例:Accept-Language:en
  • Accept-Ranges
    作用:可以请求网页实体的一个或者多个子范围字段
    示例:Accept-Ranges:bytes
  • Authorization
    作用:HTTP授权的授权证书类型
  • Connection
    作用:表示是否需要持久连接,注意HTTP1.1默认进行持久连接
    示例:Connection:close
  • Cookie
    作用:HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
    示例:Cookie:$Version=1;Skin=new
  • Content-Length
    作用:请求的内容长度
    示例:Content-Length:348
  • Content-Type
    作用:请求实体对应的类型信息
  • Host
    作用:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。

restful风格

1.每一个URI代表一种资源,独一无二
2.客户端通过四个HTTP方法,对服务器端资源进行CRUD操作

示例

【GET】 /users # 查询用户信息列表
【GET】 /users/1001 # 查看某个用户信息
【POST】 /users # 新建用户信息
【PUT】 /users/1001 # 更新用户信息(全部字段)
【PATCH】 /users/1001 # 更新用户信息(部分字段)
【DELETE】 /users/1001 # 删除用户信息

HTTP响应

http响应由状态行,消息头,响应体组成
在这里插入图片描述

状态行

状态行由三部分组成,HTTP协议的版本号、状态码、以及对状态码的文本描述。
例如:HTTP/1.1 200 OK (CRLF)

状态码

请求成功

状态码含义
200表示客户端请求成功
204表示请求成功,但服务器无响应内容

重定向

  • 301

表示永久重定向,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替址。

  • 302

表示临时重定向,客户端应当继续向原有地址发送以后的请求。

  • 303(See Other)

通常是指所请求的资源在别的地方,并且同302一样,会在header中的location标明资源的位置。

比如,我想要创建一个user,当关于这个user已经存在的时候,server将返回303,并且告之这个user的获取位置。明确需要用get请求

实例请求

POST / HTTP/1.1 Host: www.example.com/user

响应

HTTP/1.1 303 See Other Location: http://example.org/user/1

请求错误

状态码含义
400指代坏请求
401表示请求未经授权
403表示服务器收到请求,但拒绝提供服务
404表示资源不存在
405表示请求方式不允许.
406请求的资源的内容特性无法满足请求头中的条件,即后台响应的结果前台无法解析
408请求超时
411服务器拒绝在没有定义 Content-Length 头的情况下接受请求。在添加了表明请求消息体长度的有效 Content-Length 头之后,客户端可以再次提交该请求。

服务器错误

状态码含义
500表示服务器错误
502表示网关错误
503服务器当前无法处理请求
504网关超时
505服务器不支持或拒绝http版本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值