| |
|
开发:
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 的请求与响应报文 |
前言
请求报文让我们先来看一看基本的请求报文格式。注意的是,所有的内容均用 ASCII 码书写。 请求行首先是请求行,它又由三个内容组成,分别是方法,URL 和 版本。其中 方法首先方法,是指请求方法,在 HTTP1.1 中,一共有八种请求方法,它们分别是 GET,POST,HEAD,PUT,DELETE,OPTIONS,TRACE 和 CONNECT。其中最常用的也还是 GET 和 POST。 我们这里仅仅谈谈 GET 和 POST 方法,对于其它的方法,大家可以去 RFC 2616 这个文档中深入了解。 对于 GET 方法来说,它的作用就是请求指定资源,并且你所提交的查询信息会以键值对的形式出现在 URL 地址栏中。例如我们通过表单以 GET 的方式提交一个人关于姓名和年龄的信息,这个样子 显而易见,这暴露了一个问题,那就是一些敏感信息出现在了地址栏,所以一般我们并不使用 GET 来提交含敏感信息的内容,而是用 POST。 另外还要注意的一点是使用 GET 方法提交的信息,并不会使用实体主体,也就是说,实体主体为空。 URL请求行的第二个内容就是 URL,URL 表示你要请求的对象。说道对象,这里不得不强调一下,所有的请求的资源都是对象,例如,我们请求一个 HTML 网页,网页上有三个图片,那么整个请求过程中就有四个对象(即一个网页+三张图片)。 一个完整的 URL 结果是这样的: 比如这是我的 CSDN 头像的 URL 通常在 HTTP 请求报文的源码中会省略显示协议,主机和端口,仅出现路径的部分,如 版本然后是版本,这里指的是 HTML 的版本,目前最流行的版本是 HTTP/1.1,最新的版本是 HTML/2,一些网站现在也采用 HTML/2 协议。 比如,谷歌搜索就是采用 HTML/2 的版本。 首部行首部行是一系列键值对的组成,它表明了携带的请求信息。
更多的的请求信息,你可以通过下面的 RFC 2616 或者 MDN HTTP Header 了解。 当然,现代浏览器中,我们有时会看到类似 实体主体一般来说,如果使用的是 POST 方法,则实体主体部分为 POST 提交的信息。 响应报文
状态行状态行有三个字段,分别是版本(HTTP 版本),状态码(如 200)和短语(如,OK)。 常见的状态码如 200 表示成功,其对应短语为 OK。如果你想要查看所有的状态码和对应短语,请访问这个链接。 首部行它的作用同请求报文中的首部行作用相同,只不过字段不同罢了。下面举了一些例子:
实体主体实体主体为报文的实际内容。 响应报文示例 参考与拓展
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 0:45:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |