当前位置: 首页 > news >正文

Linux网络--4、应用层协议Http

目录

一、引入

二、宏观格式

        2.1格式

        2.2数据传输过程

三、请求方法

四、状态码

五、http报头

六、http版本


一、引入

        在浏览器上对于一个网站的访问我们可以看到

这样一个格式的网址请求URL(网址定位符),今天我们就了解其中的应用层协议http

二、宏观格式

        2.1格式

        http协议的宏观格式包括请求行、请求报头、空行和请求正文,其中各部分以\r\n作为分隔符,在具体传输中将形成一个以\r\n为分割的超长的文本(字节流),因此http协议又称为超文本传输协议,基于tcp形成,无连接

        2.2数据传输过程

三、请求方法

其中较为常用的是GET和POST方法

GET:用于请求指定的URL资源GET /index.html HTTP/1.1特性:指定资源经服务器端解析后返回响应内容POST:⽤于传输实体的主体,通常⽤于提交表单数据POST /submit.cgi HTTP/1.1特性:可以发送⼤量的数据给服务器,并且数据包含在请求体中。

四、状态码

在http响应中会给用户返回请求的结果,该结果以状态码的形式返回

最常⻅的状态码, ⽐如 200(OK), 404(Not Found), 403(Forbidden), 302(Redirect, 重定向), 504(Bad Gateway)

301状态码:为永久重定向,表示请求的资源已经永久移到了新的位置这种情况下,服务器会在响应中添加⼀个Location头部,⽤于指定资源的新位置。这个Location
头部包含了新的URL地址,浏览器会⾃动重定向到该地址。HTTP/1.1 301 Moved Permanently\r\nLocation: https://www.new-url.com\r\n302状态码:临时重定向,请求的资源临时移到了新的位置服务器也会在响应中添加⼀个Location头部来指定资源的新位置。浏览器会暂时使⽤新的
URL进⾏后续的请求,但不会缓存这个重定向。HTTP/1.1 302 Found\r\nLocation: https://www.new-url.com\r\n总结:⽆论是HTTP 301还是HTTP 302重定向,都需要依赖Location选项来指定资源的新位置。这个
Location选项是⼀个标准的HTTP响应头部,⽤于告诉浏览器应该将请求重定向到哪个新的URL地址。

五、http报头

六、http版本

HTTP(Hypertext Transfer Protocol,超⽂本传输协议)作为互联⽹中浏览器和服务器间通信的基⽯,经历了从简单到复杂、从单⼀到多样的发展过程。以下将按照时间顺序,介绍HTTP的主要版本、核⼼技术及其对应的时代背景。
HTTP/0.9
核⼼技术:
• 仅⽀持GET请求⽅法。
• 仅⽀持纯⽂本传输,主要是HTML格式。
• ⽆请求和响应头信息。时代背景:
• 1991年,HTTP/0.9版本作为HTTP协议的最初版本,⽤于传输基本的超⽂本HTML内容。
• 当时的互联⽹还处于起步阶段,⽹⻚内容相对简单,主要以⽂本为主。HTTP/1.0
核⼼技术:
• 引⼊POST和HEAD请求⽅法。
• 请求和响应头信息,⽀持多种数据格式(MIME)。
• ⽀持缓存(cache)。
• 状态码(status code)、多字符集⽀持等。时代背景:
• 1996年,随着互联⽹的快速发展,⽹⻚内容逐渐丰富,HTTP/1.0版本应运⽽⽣。
• 为了满⾜⽇益增⻓的⽹络应⽤需求,HTTP/1.0增加了更多的功能和灵活性。
• 然⽽,HTTP/1.0的⼯作⽅式是每次TCP连接只能发送⼀个请求,性能上存在⼀定局限。HTTP/1.1
核⼼技术:
• 引⼊持久连接(persistent connection),⽀持管道化(pipelining)。
• 允许在单个TCP连接上进⾏多个请求和响应,提⾼了性能。
• 引⼊分块传输编码(chunked transfer encoding)。
• ⽀持Host头,允许在⼀个IP地址上部署多个Web站点。时代背景:
• 1999年,随着⽹⻚加载的外部资源越来越多,HTTP/1.0的性能问题愈发突出。
• HTTP/1.1通过引⼊持久连接和管道化等技术,有效提⾼了数据传输效率。
• 同时,互联⽹应⽤开始呈现出多元化、复杂化的趋势,HTTP/1.1的出现满⾜了这些需求。HTTP/2.0
核⼼技术:
• 多路复⽤(multiplexing),⼀个TCP连接允许多个HTTP请求。
• ⼆进制帧格式(binary framing),优化数据传输。
• 头部压缩(header compression),减少传输开销。
• 服务器推送(server push),提前发送资源到客⼾端。时代背景:
• 2015年,随着移动互联⽹的兴起和云计算技术的发展,⽹络应⽤对性能的要求越来越⾼。
• HTTP/2.0通过多路复⽤、⼆进制帧格式等技术,显著提⾼了数据传输效率和⽹络性能。
• 同时,HTTP/2.0还⽀持加密传输(HTTPS),提⾼了数据传输的安全性。HTTP/3.0
核⼼技术:
• 使⽤QUIC协议替代TCP协议,基于UDP构建的多路复⽤传输协议。
• 减少了TCP三次握⼿及TLS握⼿时间,提⾼了连接建⽴速度。
• 解决了TCP中的线头阻塞问题,提⾼了数据传输效率。时代背景:
• 2022年,随着5G、物联⽹等技术的快速发展,⽹络应⽤对实时性、可靠性的要求越来越⾼。
• HTTP/3.0通过使⽤QUIC协议,提⾼了连接建⽴速度和数据传输效率,满⾜了这些需求。
• 同时,HTTP/3.0还⽀持加密传输(HTTPS),保证了数据传输的安全性。

http://www.dtcms.com/a/427674.html

相关文章:

  • BIG-Bench:大规模语言模型能力的全面评估与挑战
  • h5网站制作介绍菠菜网站模板
  • 网站建设招聘简介ps建模教程
  • VRNN论文总结
  • 从0开始学vue:npm命令详解
  • C++模板函数:字典键值最值查找与去重算法
  • 河南企业网站排名优化价格国外 wordpress模板下载地址
  • [xboard] 20 kernel Makefile逐行分析2
  • 调试parlant的大模型配置,最终自己动手写了g4f的模块挂载
  • 如何解决Google Play商店提新包后仍旧提示存在政策问题
  • 企业网站倾向于wordpress可以大量免费发帖的网站
  • StringBoot注解
  • 【题解】洛谷 P4081 [USACO17DEC] Standing Out from the Herd P [后缀自动机 SAM]
  • 专做立体化的网站赣州君拓网络科技有限公司
  • 网站开发2019企业微信营销系统
  • Linux磁盘挂载脚本
  • nuttx实战项目:多路串口合并功能之六nuttx项目基本优化
  • mysql语句之insert语句DML事务的结束
  • 单机 6 节点打造Redis Cluster(3主3从)——从零到可用与踩坑速修
  • Cesium快速入门到精通系列教程二十:Cesium 1.95 给实体添加事件
  • 02、命令行的介绍
  • 三五互联网站管理登录地址wordpress 黑色
  • 小杰深度学习(four)——神经网络可解释性、欠拟合、过拟合
  • 【手撕机器学习 03】从“生数据”到“黄金特征”:机器学习项目中价值最高的一步
  • 网站关键字优化教程株洲发布信息网
  • 昆明优化网站公司在与客户谈网页广告时如何让客户相信网站流量
  • UNIX下C语言编程与实践21-UNIX 文件访问权限控制:st_mode 与权限宏的解析与应用
  • 瑞芯微RK35XX系列FFmpeg硬件编解码实测,详细性能对比!
  • php网站后台搭建wordpress购买返现
  • 首架机下线!“四川造”大型载客eVTOL筑低空新里程碑