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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络6---HTTP消息请求 -> 正文阅读

[网络协议]计算机网络6---HTTP消息请求

https://www.csdn.net/

在浏览器里输入网址后按回车就是向服务器的一次请求
网址就是URL,统一资源标记符
浏览器的功能不止有访问Web服务器,还可以访问FTP服务器和发送邮件
浏览器是一个具有多种客户端功能的综合性客户端软件

访问Web时网址前面使用http(s)开头
访问FTP时网站前面使用ftp开头
访问邮件服务器时使用mailto开头

访问不同的内容要使用不同的网址格式:
在这里插入图片描述

输入网址按下回车之后,浏览器随机做出解析网址的动作。
根据前面不同的网址格式,浏览器能够获得网址中携带的信息。
在这里插入图片描述
在这里插入图片描述
(如果网址最后以“/"结尾那么就代表该请求是在请求默认文件,一般是服务器那边已经约定好了,默认文件一般是index.html或者default.html

如果网址最后连 “/”都没有了,那这里到底是在请求文件还是文件夹,是需要到服务器那边根据具体情况而定的)

解析到必要的信息之后就要用这些信息去请求服务器,这里必要的信息内容包含:“对什么”和“进行怎样的操作”两个部分
(这里解析到必要信息之后还会按照严格的格式去打包数据,后面详细说)

对什么

其中相当于“对什么”的部分被称为URI

这个URI指定的就是服务器中的一个存放网页数据的文件名或者一个CGI程序
也可以直接使用URL进行访问

这里可以写各种访问目标,而这些访问目标统称为URI。

进行怎样的操作

这里的操作也被称为方法,用于告诉Web服务器完成怎样的工作,包括:
读取URI表示的数据
将客户端输入的数据发送给URI表示的程序
等…
在这里插入图片描述

HTTP消息中其实还会附带头字段,客户端向服务器发送数据时会先发送头字段然后再发送数据。(后面再详细说)

HTTP消息被发送到服务器之后,服务器会根据“对什么”和“进行怎样的操作”来要求自己做出相应的处理,然后将结果的状态(状态码)以及反馈的数据一起打包作为响应消息发送给客户端。
客户端通过结果的状态(状态码)判断响应的结果,然后将数据显示在屏幕上

这就是HTTP的整个过程

GET方法: 主要是请求数据
POST方法:需要填写表单再访问,这种请求到达服务器后会把用户填写的表单数据交给应用程序和脚本

PUT方法和DELETE方法:分别是用于修改和删除服务器上指定的文件,用的很少

填坑:前面说的HTTP消息格式和请求头

前面说HTTP消息的构造有严格的格式,这种消息体的格式通过消息头的Content-Type字段来指定

下面图片详细的说明了HTTP消息的具体格式,
要补充的是,请求行中的方法具体用什么要根据请求动作发生场景来决定
输入网址按回车? 一般用GET
点击网页中的超链接? 一般用GET
填写信息后按提交按钮?一般用POST 也可能用GET
在这里插入图片描述

接下来就是HTTP消息构造的细节

请求消息

<方法> 按上面说的,分场景
用户指定的URL中提取出来
版本 表示该消息是基于哪个版本的HTTP规格编写的
消息头:很多项目,如日期、客户端支持的数据类型、语言、压缩格式、客户端和服务器的软件名称和版本、数据有效期和最后更新时间
空行:

最后是消息体

响应消息

基本和请求消息相同,差别只在第一行上。
第一行的内容变为状态码和响应短语

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-06 15:35:32  更:2021-12-06 15:36:54 
 
开发: 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年7日历 -2024/7/6 8:33:26-

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