HTTP协议

HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,他由请求和响应构成,并且是无状态的(暂时不介绍HTTP2)。
协议
协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。
无状态
无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。
协议内容
请求(Request)
客户端发送一个HTTP请求到服务器的格式 包括:
请求行,请求头,请求体
响应(Response)
服务端响应客户端格式 包括:
状态行,响应头,响应体
状态码
HTTP状态码由三个十进制的数字组成,第一个十进制字定义了状态码的类型,后两个数字分类的作用。HTTP状态码总共分为5种类型:
分类
1** 信息 ,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端报错 请求包含语法错误或者无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误,
我们一般常见的是200, 400, 401,403,404,500,502
请求方法
截止到HTTP1.1共有下面几个方法:
GET GET请求会显示请求指定资源,一般来说,GET方法应该只用于数据的读取,而不应当用于会产生副作用的非幂等操作中。请求不会影响到资源的状态。没有body 只有header
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中,POST请求可能会导致新的资源的建立或者已有资源的修改。
我们常用的就是post和get这两种请求方法,其他的还有PUT,PATCH,(PUT 一般用于资源的整体更新,PATCH用于资源的部分更新档资源不存在时,PATCH会创建一个新的资源,而PUT只会对已在的资源进行更新) DELETE 用于请求服务器删除所请求的uri,OPTIONS 允许客户端查看服务器的性能。CONNECT HTTP1.1协议中预留给能够将连接改为管道方式的代理服务器。HEAD类似于get请求,只不过返回的响应中没有具体内容,用于获取报头。
TRACE 回显服务器收到的请求,主要用于测试和诊断。
请求和响应常见通用头
Content-type 请求体/响应体的类型如text/plain application/json
Accept 说明接收的类型,可以多个值,用,分开
Content-Length 请求体/响应体的长度。单位字节
Content-Encoding 请求体/响应体的编码格式 如gzip,deflate
accept-Encoding 告知对方我方接受的Content-Encoding
ETag 给当前资源的标识
Cache-Control 表示改资源缓存有效期
注意
Content-type 内容类型,一般是指网页中存在的Content-type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式,什么编码读取这个文件。
常见的媒体格式类型如下:
text/html html格式
text/plain 纯文本格式
text/xml xml格式
image/gif gif图片格式
image/jpeg jpg图片格式
image/png png图片格式
以application开头的媒体格式类型
application/xml xml数据格式
application/json json数据格式
application/pdf pdf格式
application/msword word文档格式
application/octet-stream 二进制流格式
常见请求头
Authorization 用于设置身份认证信息
User-Agent 用户标识,如os和浏览器的类型和版本
if-modified-since 值为上一次服务器返回的last-modified值,用于确认某个资源是否被更改过,没有更改过(304)就从缓存中读取值为上一次服务器返回的etag值。
referer 表示请求引用自哪个地址,比如你从页面A跳转到页面b时,值为页面a的地址
server 后台服务器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值