HTTP的初步了解

目录

前言

一、HTTP协议的基本概念

1.1、请求格式

1.2、响应格式

二、HTTP链接问题


前言

提示:这里可以添加本文要记录的大概内容:

        HTTP协议是超文本传输协议

        HTTP的短连接:建立连接——数据传输——关闭连接

        HTTP的长连接:建立连接——数据传输——(保持连接)——数据传输——关闭连接。如果长时间没有新的请求,连接才会关闭


提示:以下是本篇文章正文内容,下面案例可供参考

一、HTTP协议的基本概念

概念:HTTP协议是一个规范,规则。通过这个规则实现客户端与服务器之间的各种信息的传

           输,它是响应协议(客户端向服务器发送一次请求,服务器返回对应的响应,得到响

           应后接收通信)

 协议格式:HTTP分为请求格式和响应格式两种

        请求格式:客户端发送给服务端,用于请求服务器上的资源。由以下几个部分组成。

                请求行:用于明确向服务器表达,自己请求的资源/功能

                请求头部:对请求或正文的细致描写

                空行:用于间隔头部与正文

                正文:客户端向服务器发送的数据内容

        响应格式:服务端发送给客户端,用于回应客户端的请求

                响应行:直观向客户端描述本次请求的处理结果

                响应头部:对本次响应以及正文进行额外的描述

                空行:用于间隔头部与正文

                正文:返回给客户端的具体数据

1.1、请求格式

请求行:用于向服务器表达、自己请求的资源

        组成:包含三个元素(请求方法)、元素之间以空格间隔、以 \r\n 结尾

        请求方法:用于明确当前的请求是一个怎么样的请求

                GET:用于向服务器请求实体资源,请求没有正文但是可用提交数据、提交的数据

                           在URL中,而不是正文中,但提交的数据有限且不安全。

                HEAD:与GET功能类似,但是区别在于响应中不用返回实体资源、只有头部字段

                POST:用于向服务器提交数据,提交的数据在正文中。

请求头部:对请求和正文的细致描述

        格式:key: val\r\nkey: val\r\n......

        User-Agent: 描述客户端版本信息。服务端可以定制化响应

                             Mozilla/5.0 (Windows NT 10.0; Win64; x64)  
        Content-Type:描述正文类型,决定了正文将会被如何处理

                               application/x-www-form-urlencoded  
        Content-Length:描述正文长度

                                   40  
        Referer: 告诉服务器本次请求的来源链接

                      https://www.baidu.com/form-page  

请求空行:\r\n 间隔请求头部与正文

正文:提交给服务器的数据

URL:网址——资源定位符

        作用:描述如何在某个地方获取某个指定的资源

         要素:http//user:pass@www.baidu.com:80/s?wd=C%2B%2b&e=utf8#ch 

https://www.baidu.com:80/path/to/resourceparam1=value1&param2=value2#section1 

                http:协议名称,表示本次通信使用的是什么协议

                user:访问服务器的用户认证信息的用户名

                pass:访问服务器的用户认证信息的密码

                baidu.com:域名,经过解析可以得到服务器的IP地址

                80:http协议的默认端口是80端口,https是443端口

                /s或/path/to/resource:请求资源的路径

                wd=C%2B%2b&e=utf8或param1=value1&param2=value2: 查询字符串

                ch或section1:片段标识符,通常是一个html标签的id值

协议版本:现在通常是1.1的版本

        从1.0版本进程的改进,从短链接支持了长链接

1.2、响应格式

 响应行:

        格式:HTTP协议版本、状态码、状态消息 \r\n

        1xx:信息状态码,对应请求的描述; 101--协议切换

        2xx:成功状态码;        200--成功处理

        3xx:重定向状态码;     302-临时重定向    301-永久重定向     303-请求其他路径

        4xx:客户端错误状态码;        404-请求资源不存在

        5xx:服务器错误状态码;        502-服务器请求失败        504-服务器请求超时

响应头部:对本次响应以及正文进行额外的描述

        格式:key: val\r\nkey: val\r\n......

                Location:当状态码为3XX时,此字段指定了客户端应进一步访问的URL。

        正文:响应(返回)给客户端的数据

二、HTTP链接问题

         由于HTTP的一个简单的请求,并且是短链接,每次请求服务器都不一定使用同一个链接,如果每次请求服务器都是新连接,那么如何识别客户端身份就是一个问题,为了解决这个问题提出了cookie机制

        

cookie:

        在http协议头部中加入了两个字段:Cookie Set-Cookie

        1、客户端登陆成功后、服务器通过Set-Cookie字段向客户端返回一些数据:客户端身

              份及状态

        2、客户端收到响应后、将Set-Cookie字段中的数据保存起来到cookie文件中

        3、当客户端下次请求服务器是,就会从cookie文件中读取出cookie数据,通过Cookie

              字段发送给服务器

session:

        cookie是有安全隐患的它默认是明文存储,因此推出了session

        会话控制—每个客户端在访问服务器后,服务器都会为其创建一个会话,这个会话是存

                          储在服务端上的包含了用户的会话信息,如用户身份,会话状态,偏好设置

                          等。当服务端响应的时候,会将session的id作为cookie数据通过Set-Cookie

                          字段发送给客户端,下次客户端请求服务器的时候,就会将session的id通过

                          Cookie发送给服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/884625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乐鑫esp32和esp32s3使用flash download tool V3.9.7工具下载固件的使用说明

使用esp32IDF工具编程后使用vscode内置的烧录工具(火的图标按钮)烧录是正常的,说明程序没有问题。 如果要使用flash download tool V3.9.7工具下载固件还是有些要注意的事项: 1.三个bin文件分别在: 第一个:…

如何在Linux系统中使用Apache HTTP Server

如何在Linux系统中使用Apache HTTP Server Apache简介 安装Apache 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动Apache服务 验证Apache是否正在运行 访问Apache默认页面 配置Apache虚拟主机 创建虚拟主机配置文件 示例虚拟主机配置 创建网站根目录 准备静态网站内…

HTTP相关返回值异常原因分析,第二部分

今天我们讲讲HTTP相关返回值异常如何解决(实例持续更新中) 一、4xx状态码 这些状态码表示请求有问题,通常是由于客户端的错误引起的。 1.1 400 Bad Request: 请求格式不正确,服务器无法理解。 状态码400的含义: …

8、Node.js Express框架

五、Express框架 5.1概念 Express框架是一个基于Node.js平台的极简、灵活的WEB开发框架:www.express.com.cn 简单来说,Express是一个封装好的工具包,封装了很多功能,便于我们开发WEB应用 5.2安装 npm i express5.3 Express初体验 //01-express初体验.js //1.导入exrp…

学习笔记——三小时玩转JQuery

也可以使用在线版,不过在线版需要有网络,网不好的情况下加载也不好 取值的时候也是只会取到有样式的纯文本,不会取到标签,会取到标签效果 prepend和append这两个方法用的比较多,before和affter用的比较少 想要把代码写…

Rust 力扣 - 54. 螺旋矩阵

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们只需要一圈一圈的从外向内遍历矩阵,每一圈遍历顺序为上边、右边、下边、左边 我们需要注意的是如果上边与下边重合或者是右边与左边重合,我们只需要遍历上边、右边即可 题解代码 i…

企业项目开发的流程

一.立项阶段 1.市场调研 了解市场需求和竞争对手情况。全面的市场调研分析报告。 用户调研:产品组针对目标用户进行定量和定性的调查,了解其需求和行为习惯,为产品的功能和设计方向提供依据。 举例:终端管家.用户分为商户和渠…

简化应用程序日志记录

什么是应用程序日志 应用程序日志是存储有关应用程序中发生的事件的信息的文件。应用程序日志包含以下信息: 用户活动,例如登录、注销、页面查看和搜索查询。应用程序错误,例如异常和崩溃。安全事件,例如登录尝试失败和可疑流量…

VR 创业之路:从《I Expect You To Die》到未来展望

今年是 Reality Labs 成立 10 周年,Meta 每周都会与不同的 XR 先驱进行交流,探讨他们在行业中的经历、经验教训以及对未来的展望。本次,他们与游戏设计师、作家兼 Schell Games CEO Jesse Schell 进行了深入交谈,了解了他的个人故…

【098】基于SpringBoot+Vue实现的垃圾分类系统

系统介绍 视频演示 基于SpringBootVue实现的垃圾分类系统 基于SpringBootVue实现的垃圾分类系统设计了三种角色、分别是管理员、垃圾分类管理员、用户,实现了个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃圾类型管理、垃圾图谱管理、系统管理等功能 …

C++和OpenGL实现3D游戏编程【连载17】——着色器进阶

欢迎来到zhooyu的专栏。 主页网址:【zhooyu】 专栏网址:【C和OpenGL实现3D游戏编程】 🌟🌟🌟这里将通过一个OpenGL实现3D游戏编程实例教程,带大家深入学习OpenGL知识。知识无穷而人力有穷,希望…

前端技术月刊-2024.11

本月技术月刊聚焦于前端技术的最新发展和业务实践。业界资讯部分,React Native 0.76 版本发布,带来全新架构;Deno 2.0 和 Node.js 23 版本更新,推动 JavaScript 生态进步;Flutter 团队规模缩减,引发社区关注…

定制化视频生成新模范!零样本主体驱动,精确运动控制!复旦阿里等发布DreamVideo-2

文章链接:https://arxiv.org/pdf/2410.13830 项目链接:https://dreamvideo2.github.io/ 亮点直击 DreamVideo-2,首个无需微调,同时支持主体定制和运动控制的零样本视频定制框架,能够通过设计的参考注意力学习主体外观&…

mysql--多表查询

一、联合查询 作用:合并结果集就是把两个select语句的查询结果合并到一起! 合并结果集有两种方式: UNION:合并并去除重复记录,例如:SELECT * FROM t1 UNION SELECT * FROM t2; UNION ALL&a…

PHP图书馆借阅管理系统-计算机毕业设计源码01649

基于HTML5CSS的图书馆借阅管理系统的设计与实现 摘 要 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。本…

VMware系统镜像推荐网站

今天准备找一个Mac系统的镜像,在网上搜大部分都是广告,有的还做的很隐蔽,不点进去都无法确定,非常麻烦,不如多花点时间自己整理一个使用的网站。 如果有更优推荐,请在评论中说明,我会及时更新并…

vscode通过.vscode/launch.json 内置php服务启动thinkphp 应用后无法加载路由解决方法

我们在使用vscode的 .vscode/launch.json Launch built-in server and debug 启动thinkphp应用后默认是未加载thinkphp的路由文件的, 这个就导致了,某些thinkphp的一些url路由无法访问的情况, 如http://0.0.0.0:8000/api/auth.admin/info这…

中国90米土壤渗流因子Fsic数据

Fsic(土壤渗流因子):土壤渗流因子的计算是根据美国农业部(USDA)土壤质地分类, 进行分类、赋值并归一化,得到土壤渗流因子Fsic的值。将13种土壤质地类型分别在0-1之间均等赋值得到。其中Fsic值越高,代表土壤渗水能力越强,Fsic值域范…

【大语言模型】ACL2024论文-03 MAGE: 现实环境下机器生成文本检测

【大语言模型】ACL2024论文-03 MAGE: 现实环境下机器生成文本检测 目录 文章目录 【大语言模型】ACL2024论文-03 MAGE: 现实环境下机器生成文本检测目录摘要研究背景问题与挑战如何解决核心创新点算法模型实验效果(包含重要数据与结论)主要参考工作后续优…

【Linux】centos7安装配置DHCP、FTP服务

文章目录 一、DHCP服务介绍1、DHCP服务器2、DHCP客户机3、工作流程 二、安装配置DHCP1、查询是否安装DHCP软件包2、安装3、配置DHCP4、修改配置信息5、重启 二、FTP服务1、安装并启动VSFTP服务2、安装vsftp客户端 一、DHCP服务介绍 DHCP服务主要功能是动态分配IP地址&#xff…