HTTP 协议

概念:HyperText Transfer Protocol, 超文本传输协议 规定了浏览器和服务器之间的数据传输的规则

HTTP 协议特点

  1. 基于TCP协议:面向连接,安全
  2. 基于请求模型的:一次请求对应一次响应
  3. HTTP 协议是无状态的协议:对于事务的处理没有记忆能力。每次请求-响应都是独立的。
    缺点:多次请求间不能共享数据
    优点: 速度快

HTTP 请求数据格式

请求数据分为三部分:

  1. 请求行: 请求数据的第一行,其中 GET 表示请求方式, / 表示请求资源路径, HTTP/1.1 表示协议版本
  2. 请求头: 第二行开始,格式为 key:value 形式
  3. 请求体: POST 请求的最后一部分,存放请求参数

常见间的 HTTP 请求头

  1. Host:表示请求的主机名称
  2. User-Agent: 浏览器版本,例如Chrome浏览器的标识类似 Mozilla/5.0 ... Chrome/79, IE浏览器的标识类似 Mozilla/5.0 (Windows NT..) like Geckko;
  3. Accept: 表示浏览器能接收的资源类型,如text/, image/ 或者 / 表示所有;
  4. Accept-Language: 表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
  5. Accept-Encoding: 表示浏览器可以支持的压缩类型,例如 gzip, deflate 等

GET请求和 POST请求的区别

  1. GET请求请求参数在请求行中,没有请求体。POST请求请求参数在请求体中
  2. GET请求请求参数大小有限制,POST 没有

HTTP 响应数据格式

响应数据分为三部分

  1. 响应行: 响应数据的第一行。其中 HTTP/1.1 表示协议版本,200表示响应状态码,OK 表示状态码描述
  2. 响应头:第二行开始,格式为 key:value 形式
  3. 响应体:最后一部分存放响应数据
状态码分类 说明
1XX 响应中--临时状态码,表示请求已经接受,告诉客户端应该继续请求或者他已经完成则忽略他
2xx 成功--表示请求已经成功接收,处理完成
3xx 重定向--重定向到其他地方:他让客户端发起一个请求以完成整个处理
4xx 客户端错误--处理发生的错误,责任在客户端,如:客户端请求的一个不存在的资源,客户端未被授权,禁止访问等
5xx 服务器错误--处理发生错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不支持等

常见的HTTP响应头:

  1. Content-Type:表示该响应内容的类型,例如 text/html,image/jpeg;
  2. Content-Length: 表示该响应内容的长度(字节数);
  3. Content-Encoding:表示该响应压缩算法,例如gzip;
  4. Cache-Control:指示客户端应如何缓存,例如 max-age=300 表示可以最多缓存 300 秒
posted @   过好每一天2022  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示