IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP协议中的请求方法、状态码与状态文字(HTTP协议详解) -> 正文阅读

[网络协议]HTTP协议中的请求方法、状态码与状态文字(HTTP协议详解)


1. 请求方法详解

常用请求方法:

GET、HEAD、PUT、TRACE、DELETE、OPTIONS。

注意:

  1. HEAD和GET方法基本一致,只是HEAD不返回内容。当我们只是需要确定一个内容是否正常存在时,就可以使用HEAD。例如,当我们想要确认一张照片是否还存在时,就可以使用HEAD方法,不需要返回照片的内容。

    例如:我们用GET方法发出请求时,会返回相应的内容:

    image-20220202183522745

    而使用HEAD方法则不返回内容:

    image-20220202183816133

  2. TRACE用法:当我们使用了代理,比如代理访问news.163.com,你想看看代理有没有修改我们的HTTP请求,我们可以用TRACE来测试一下,163.com的服务器就会把最后收到的请求返回给我们。

  3. 虽然这些请求方法是HTTP协议里规定的,但WEB SERVER未必允许或支持这些方法。

  4. OPTIONS用法:是返回服务器可用的请求方法。

    image-20220202184448273

2. 状态码与状态文字详解

  • 状态码是用来反应服务器的响应情况的。

    常见的如200 OK,404 NOT FOUND

  • 状态文字是用来描述状态码的,便于人观察。

  • 状态码的5个系列:

    image-20220202185144108

    常用的状态码:

    1. 200 – 服务器成功返回网页

    2. 301/2 – 永久/临时重定向

      举例:

      302默认临时重定向:

      我们先将04.php文件重定向到百度网站

      image-20220202193318891

      当打开04.php文件时,我们可以看到302的状态码信息

      image-20220202193425757

      301为指定永久重定向:

      image-20220202193732110

      其中,true参数意指将301信息替换原来的头信息。

      注意:

      对于GET请求,重定向无所谓,能看到内容就行。但对于POST请求,比如将表单重定向到05.php,再将05.php重定向到06.php,此时会出现数据找不到的情况,那么如何解决这个问题呢?

      我们使用307状态码,在重定向之后仍然使用POST请求,此时可以成功返回数据:

      image-20220202194501213

    3. 304 Not Modified – 未修改

      客户端在向服务器发送请求信息时,会在请求头信息中加入一个时间戳和Etag(唯一资源标识符),当时间戳和Etag没有改变时,客户端就会告诉服务器可以在缓存中取出相应的响应信息。

      例如,当客户端请求一张图片时,如果在时间戳(If-Modified-Since)之后图片没有发生改变,并且图片的Etag也没有发生改变,服务器就会在缓存中提取该图片,然后响应给客户端,此时返回的就是304的状态码。

      image-20220202190642613

    4. 307 – 重定向中保持原有的请求数据

    5. 404 – 请求的网页不存在

    6. 503 – 服务器暂时不可用

    7. 500 – 服务器内部错误


参考视频:https://www.bilibili.com/video/BV1js411g7Fw?p=2

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:22:00  更:2022-02-04 11:23:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:29:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码