Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • HTTP

    • Get 与 Post
    • 状态码&字段
      • 常见状态码
      • 常见字段
    • 输入URL到返回页面全过程
    • HTTP
    • HTTP演进
    • HTTPS
    • WebSocket
    • RPC
    • 粘包问题
    • Java中的网络请求
    • 请求报文与响应报文
    • HTTP如何保存用户状态
    • 长连接与短连接
    • SSL TLS
  • TCP

  • UDP

  • IP

  • 网络安全

  • 计算机网络
  • HTTP
Nreal
2023-11-23
目录

状态码&字段

# 常见状态码

1xx 类状态码属于提示信息,是协议处理中的一种中间状态;

2xx 类状态码表示服务器成功处理了客户端的请求;

  • 「200 OK」是最常见的成功状态码,表示一切正常;
  • 「204 No Content」响应头没有 body 数据;

3xx 类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是重定向;

  • 「301 Moved Permanently」表示永久重定向,资源已经不存在了,需改用新的 URL 再次访问;
  • 「302 Found」表示临时重定向,说明请求的资源还在,但暂时需要用另一个 URL 来访问;
  • 「304 Not Modified」表示缓存重定向,告诉客户端可以继续使用缓存资源,用于缓存控制;

4xx 类状态码表示客户端发送的报文有误,服务器无法处理,也就是错误码的含义;

  • 「400 Bad Request」表示客户端请求的报文有错误,但只是个笼统的错误;
  • 「403 Forbidden」表示服务器禁止访问资源;
  • 「404 Not Found」表示请求的资源在服务器上不存在或未找到;

5xx 类状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务器端的错误码;

  • 「500 Internal Server Error」与 400 类型,是个笼统通用的错误码;
  • 「502 Bad Gateway」通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误;
  • 「503 Service Unavailable」表示服务器当前很忙,暂时无法响应客户端;

# 常见字段

Host:客户端发送请求时,用来指定服务器的域名;

请求发往「同一台」服务器上的不同网站

Content-Length:本次回应的数据长度;

服务器回应的数据长度是 ?个字节,后面的字节就属于下一个回应了

HTTP 协议通过设置回车符、换行符作为 HTTP header 的边界,通过 Content-Length 字段作为 HTTP body 的边界,这两个方式都是为了解决“粘包”的问题

Connection:用于客户端要求服务器使用「HTTP 长连接」机制,以便其他请求复用;

长连接的特点:只要任意一端没有明确提出断开连接,则保持 TCP 连接状态;

HTTP/1.1 版本的默认连接都是长连接,但为了兼容老版本的 HTTP,需要指定 Connection 首部字段的值为 Keep-Alive;

Content-Type:服务器回应客户端,本次数据是什么格式;

Content-Encoding:数据的压缩方法;

Get 与 Post
输入URL到返回页面全过程

← Get 与 Post 输入URL到返回页面全过程→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式