野仙生活网

野仙生活网

计算机网络—HTTP

民生 0

文章目录

  • HTTP常见状态码
  • HTTP请求报文和响应报文的格式
    • HTTP响应
  • HTTP常用的请求方式
    • GET请求和POST请求的区别

————————————————————————————————

HTTP是超文本传输协议(Hypertext Transfer Protocol)

特点:

  • 应用层协议
  • 运行在TCP上
  • 超文本传输协议

HTTP常见状态码

常见状态码:

  • 200:服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。

  • 301 : (永久移动)请求的网页已永久移动到新位置。服务器返回此响应(对GET或HEAD请求的响应)时,会自动将请求者转到新位置。

  • 302:(临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

  • 400:客户端请求有语法错误,不能被服务器所理解。

  • 403:服务器收到请求,但是拒绝提供服务。

  • 404: (未找到)服务器找不到请求的网页。

  • 500:(服务器内部错误)服务器遇到错误,无法完成请求。

HTTP请求报文和响应报文的格式

HTTP请求报文由3部分组成

  • 起始行(start line):描述请求或响应的基本信息;
  • 头部字段(header):使用 key-value 形式更详细地说明报文;
  • 消息正文(entity):实际传输的数据,它不一定是纯文本,可以是图片、视频等二进制数据。

其中起始行和头部字段并成为 请求头 或者 响应头,统称为 Header;消息正文也叫做实体,称为 body。HTTP 协议规定每次发送的报文必须要有 Header,但是可以没有 body,也就是说头信息是必须的,实体信息可以没有。而且在 header 和 body 之间必须要有一个空行(CRLF)

HTTP响应

HTTP应答与HTTP请求相似,HTTP响应也由 3 个部分构成,分别是:

状态行 ,响应头(Response Header),响应正文 。

在接收和解释请求消息后,服务器会返回一个HTTP响应消息。 状态行由协议版本、数字形式的状态代码、及相应的状态描述,各元素之间以空格分隔。

HTTP常用的请求方式

为了方便记忆,可以将PUT、DELETE、POST、GET理解为客户端对服务端的增删改查。

  • PUT:上传文件,向服务器添加数据,可以看作增
  • DELETE:删除文件
  • POST:传输数据,向服务器提交数据,对服务器数据进行更新。
  • GET:获取资源,查询服务器资源

GET请求和POST请求的区别

①:GET请求和POST请求最大的区别主要是GET请求是幂等性的,POST不是。(幂等性简单来说就是对同一URL的多个请求应该返回同样的结果)

②:GET一般都是从服务器获取资源,而POST一般则是改变服务器中的资源。

③:GET请求的数据在URL之后,在请求头中。而POST请求在请求体中。GET请求可被缓存,保留到历史记录中,且请求数据的出现在 URL之中。而POST的参数不会被保存,安全性高。

④:Get的数据长度有限制,而post请求的数据大小无限制