Ajax学习之http协议加强

HTTP协议简介

  超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求—响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出,而消息内容则具有一个类似MIME的格式。HTTP协议采用了请求/响应的交互模型,这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
在这里插入图片描述

HTTP请求

  由于HTTP协议属于客户端浏览器和服务器之间的通信协议。因此,客户端发起的请求叫做HTTP请求,客户端发送到服务器的消息叫做 HTTP请求消息。请求消息也叫做请求报文。HTTP请求消息由请求行(request line)、请求头部( header ) 、空行请求体4个部分组成。下图可见它们的格式。
在这里插入图片描述

1、请求行

  请求行由请求方式URLHTTP协议版本3个部分组成,他们之间使用空格隔开。如下图get请求:从左到右分别是请求方式、url和http协议版本。post请求同理。如何发送get/post请求可以移步我的Node.js这篇博客:Node.js接口的编写
在这里插入图片描述

2、请求头部

  请求头部用来描述客户端的基本信息,从而把客户端相关的信息告知服务器。比如: User-Agent用来说明当前是什么类型的浏览器;Content-Type用来描述发送到服务器的数据格式;Accept用来描述客户端能够接收什么类型的返回内容;Accept-Language用来描述客户端期望接收哪种人类语言的文本内容。请求头部由多行键/值对组成,每行的键和值之间用英文的冒号分隔。
在这里插入图片描述一些常见的请求头字段如下表:

头部字段说明
Host要请求的服务器域名
Connection客户端与服务器的连接方式(close 或 keepalive)
Content-Length用来描述请求体的大小
Accept客户端可识别的响应内容类型列表
User-Agent产生请求的浏览器类型
Content-Type客户端告诉服务器实际发送的数据类型
Accept-Encoding客户端可接收的内容压缩编码形式
Accept-Language用户期望获得的自然语言的优先顺序

3、空行

  最后一个请求头字段的后面是一个空行,通知服务器请求头部至此结束。请求消息中的空行用来分隔请求头部与请求体。

4、请求体

  请求体中存放的是要通过POST方式提交到服务器的数据注意只有POST请求才有请求体,GET请求没有请求体!

HTTP响应消息

  HTTP响应消息(也就是响应内容)由状态行响应头部空行响应体4个部分组成:
在这里插入图片描述

1、状态行

  状态行由HTTP协议版本状态码状态码的描述文本3个部分组成,他们之间使用空格隔开。示例如下图:
在这里插入图片描述

2、响应头部

  响应头部用来描述服务器的基本信息。响应头部由多行键/值对组成,每行的键和值之间用英文的冒号分隔。示例如下:
在这里插入图片描述

3、空行

  在最后一个响应头部字段结束之后会紧跟一个空行,用来通知客户端响应头部至此结束。

4、响应体

  响应体中存放的是服务器响应给客户端的资源内容。下图中response的内容就是响应体:
在这里插入图片描述

HTTP请求方法

  HTTP请求方法属于HTTP协议中的一部分,请求方法的作用是用来表明要对服务器上的资源执行的操作。最常用的请求方法是GET和POST。

HTTP中的所有请求方法

方法描述
GET(查询)发送请求来获得服务器上的资源,请求体中不会包含请求数据,请求数据放在协议头中。
POST(新增)向服务器提交资源(例如提交表单或上传文件)。数据被包含在请求体中提交给服务器。
PUT(修改)向服务器提交资源,并使用提交的新资源替换掉服务器对应的旧资源。
DELETE(删除)请求服务器删除指定的资源。
HEADHEAD方法请求一个与GET请求的响应相同的响应,但没有响应体
OPTIONS获取http服务器支持的http请求方法,允许客户端查看服务器的性能,比如ajax跨域时的预检等。
CONNECT建立一个到由目标资源标识的服务器的隧道。
TRACE用沿着到目标资源的路径执行一个消息环回测试,主要用于测试或诊断。
PATCH是对PUT方法的补充,用来对已知资源进行局部更新。

关于这些请求方法的使用案例可移步:请求方法的使用案例

HTTP响应状态代码

  HTTP响应状态码(HTTP Status Code),也属于HTTP协议的一部分,用来标识响应的状态。响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,就能知道这次HTTP请求的结果是成功还是失败了。示例如下:
在这里插入图片描述
所有的响应状态码可见:http响应状态码大全
在这里插入图片描述

总结

  有关http协议的相关知识就分享到这啦!总体来说还是挺简单的通俗易解的,即使忘了也可以及时查缺补漏呀!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值