[网络工程师]-应用层协议-WWW与HTTP

news2024/11/24 7:29:29

1、WWW

        万维网(World Wide Web,WWW)是一个规模巨大、可以互联的资料空间,该资料空间的资源依靠URL进行定位,通过HTTP协议传送给使用者,又由HTML进行文档的展现。由此可知,WWW的核心由三个主要标准构成:URL、HTTP、HTML。

        (1)URL

        统一资源标识符(Uniform Resource Locator,URL)是一个全世界通用的、复杂给万维网上资源定位的系统。URL的核心由三个主要标准构成:<协议>://<主机>:<端口>/<路径>。

  • <协议>:表示使用什么协议来获取文档,之后的“://”不能省略。常用协议有HTTP、HTTPS、FTP。
  • <主机>:表示资源主机的域名。
  • <端口>:表示主机服务端口,有时可以省略。
  • <路径>:表示最终资源在主机中的具体位置,有时可以省略。

        (2)HTTP

        超文本传送协议(HyperText Transport Protocol,HTTP)负责规定浏览器和服务器怎样进行互相交流。

        (3)HTML

        超文本标记语言(HyperText Markup Language,HTML)是用于描述网页文档的一种标记语言。

        WWW采用C/S的工作方式,工作流程为:

        (1)用户使用浏览器或其他程序建立客户机与服务器的连接,并发送浏览请求;

        (2)WEB服务器接收请求后返回信息到客户机;

        (3)通信完成后关闭连接。

2、HTTP

        HTTP协议使用TCP的80号端口提供服务,是一个属于应用层的面向对象的协议。用于从WWW服务器传输超文本到本地浏览器,保证正确快速的传输超文本文档。

2.1 HTTP工作过程

        下图给出客户端单击http://www.itct.com.cn/net/index.html所发生的事件:

        HTTP使用TCP而不是UDP的原因:打开一个网页必须必须传送很多数据,而TCP协议提供了传输控制,可以按顺序阻止数据,并且期间可以对错序数据进行纠正。

        HTTP的URL格式为:HTTP://<IP地址>:[端口号]/[路径][?<查询信息>]。客户机信息以请求头发送给服务器,请求头包括HTTP方法和头字段。

2.2 HTTP请求方法

方法用途
GET请求读取URL表示的信息
HEAD请求读取URL表示的信息的首部
POST把消息加载到指定网页上
PUT指明URL创建或修改资源
DELETE删除URL所指定的资源
OPTION请求一些参数信息
TRACE进行环回测试
CONNECT用于代理服务器

2.3 HTTP请求头字段

头字段描述
DATE请求发送的日期和时间
PARGMA用于向服务器传输与事先实现无关的信息。这个字段还用于告诉代理服务器,要从实际服务器而不是从高速缓存取资源
FORWARDED用于追踪极机器之间,而不是客户机和服务器的消息。这个字段可以用来追踪在代理服务器之间的传递路由。
MESSAGE_ID用于唯一地表示消息
ACCEPT通知服务器客户所能接收的数据类型和大小
AOTHORIZATION向服务器提供旁路安全保护和加密机制,若服务器不需要这个字段,则可以不提供
FROM当客户应用程序希望服务器提供有关其电子邮件地址时使用
IF-MODEFIED-SINCE用于提供条件GET。如果所请求的文档自从所指定的日期以来没有发生变化,则服务器应不发送该对象。如果所发送的日期格式不合法,或晚于服务器的日期,服务器会忽略该字段。
BEFERRER向服务器进行资源请求的对象
MIME-VERSION用于处理不同类型文件的MIME协议版本号
USER-AGENT有关发出请求的客户的信息

2.4 HTTP应答消息

        服务器的应答消息包括头字段形式和实体信息。

        报文第一行是状态行,格式为:<HTTP版本号><状态代码><解释短语>。

        状态码是个3位数字码,分为4类:

  • 以2开头,表示请求被成功处理;
  • 以3开头,表示请求被重定向;
  • 以4开头,表示客户的请求有错;
  • 以5开头,表示服务器不能满足请求。

        解释短息是对状态码的解释。

        报文最后是实体信息,即客户请求得到的HTTP服务器上的资源内容。

2.5 HTTP1.1

        HTTP1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。这样会导致客户端、服务器的建立和关闭比较费时,严重影响性能。

        为了克服上述缺陷,HTTP1.1支持持久连接,即一个TCP连接上可以传送多个HTTP请求和响应,减少建立和关闭连接的消耗和延迟。HTTP 1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器必须按照接收到客户端请求的先后顺序一次回传响应结果,以保证客户端能够区分出,每次请求的响应内容,这样也减少了整个下载过程所需的时间。

        HTTP1.1还通过增加更多的请求头和响应头来改进和扩充功能:

        1)同一IP地址和端口号配置多个虚拟web站点。HTTP1.1新增加Host请求头字段后,web浏览器可以使用主机头名来明确表示要访问服务器上的哪个web站点,这样可以在一台web服务器上用同一IP地址、端口号、不同的主机名来创建多个虚拟web站点;

        2)实现持续连接。Connection请求头的值为Keepalive时,客户端通知服务器返回本次请求结果后保持连接;Connection的值为Close时,客户端通知服务器返回本次请求结果后关闭连接。

2.6 HTTP2.0

        HTTP2.0兼容HTTP1.X,同时大大提升了web性能,进一步减少了网络延迟。

        HTTP2.0采用了新的二进制格式,解决了多路复用(即连接共享)问题,可对Header进行压缩,使用较为安全的HPACK压缩算法,重置连接表现更好,有一定的流量控制功能,使用更安全的SSL。

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

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

相关文章

[附源码]SSM计算机毕业设计校园疫情防控管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【遥感图像:信息增强】

SDPNet: A Deep Network for Pan-Sharpening With Enhanced Information Representation &#xff08;SDPNet&#xff1a;一种增强信息表示的泛锐化深度网络&#xff09; 本文提出了一种基于表层和深层约束的全色锐化网络SDPNet&#xff0c;以解决全色锐化问题。聚焦于全色锐…

[附源码]计算机毕业设计springboot基于java的社区管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

第二证券|重磅利好!国家能源局发文,多股立马涨停!

今日早上&#xff0c;各位小伙伴有点跌懵了吧&#xff1f;不过&#xff0c;我大A盘中又支楞起来了&#xff0c;惊不惊喜&#xff1f;意不意外&#xff1f; 周一早盘&#xff0c;A股、港股直接跳空低开。A股顺利回补此前跳空高开的缺口&#xff0c;技能上现已没有跌落的空间。 …

广和通基于联发科技 T830平台的5G模组FG370率先通过CE认证测试

11月&#xff0c;广和通5G模组FG370率先通过CE认证测试&#xff0c;进而可用于无线宽带终端部署。5G模组FG370于9月启动研发&#xff0c;并于10月正式发布&#xff0c;随后仅短短一个月&#xff0c;便通过CE认证测试。至此&#xff0c;广和通5G模组FG370已进入工程送样阶段&…

快速复现 实现 facenet-pytorch 人脸识别 windows上 使用cpu实现 人脸对比

目录0 前言1 搭建环境与项目2 人脸预测与结果展示0 前言 这一次要复现的是人脸识别中的 facenet-pytorch 参考了&#xff1a; Pytorch 搭建自己的Facenet人脸识别网络&#xff08;Bubbliiiing 深度学习 教程&#xff09; https://gitee.com/xiaozhao123666/facenet-pytorch ht…

DPDK代码目录结构

DPDK功能结构 DPDK工程目录内容 dpdk-stable-18.11.11]# ls app buildtools devtools drivers GNUmakefile lib MAINTAINERS meson.build mk README usertools build config doc examples kernel license Makefile meson_opt…

Linux常用文本编辑器,及文本查看摘选的常用命令

Linux常用文本编辑器&#xff1a; Emacs&#xff1a;功能强大&#xff0c;门槛高&#xff0c;对新手不友好。 nano &#xff1a;优点是操作简单&#xff0c;缺点是无强大的命令支持复杂操作。 gedit &#xff1a;只能在有gnome的换图形化界面中使用 kedit &#xff1a; 只能在…

服务器冗余常见问题及解答汇总

对于众多组织来说&#xff0c;在灾难发生后能够访问数据至关重要。而硬件故障、应用程序故障、网络问题和其他此类问题会阻止服务器的正常运行&#xff0c;使用户无法访问服务和重要数据。这时企业可以通过采用服务器冗余来避免这些突发事件。下面是关于服务器冗余常见问题解答…

10【Mybatis延迟加载】

文章目录一、Mybatis 延迟加载1.1 延迟加载介绍1.1.1 搭建项目工程1&#xff09;SQL脚本&#xff1a;2&#xff09;引入依赖&#xff1a;3&#xff09;MyBatis核心配置文件&#xff1a;4&#xff09;实体类&#xff1a;5&#xff09;dao接口&#xff1a;6&#xff09;mapper.xm…

Java本地搭建实战毕设项目sprignboot电商书城管理系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套Java开发的sprignboot电商书城管理系统源码&#xff0c;包含前端界面、后台管理界面。适合拿来做毕业设计的同学。可以下载来研究学习一下。本期就把这套系统分享给大家。 技术架构 技术框架&…

Meta-learning

基本理解 meta learning翻译为元学习&#xff0c;也可以被认为为learn to learn 元学习与传统机器学习的不同在哪里&#xff1f; 元学习与传统机器学习&#xff0c; 这里举个通俗的例子&#xff0c;拿来给大家分享&#xff1f; 把训练算法类比成学生在学校学习&#xff0c;传…

Macleod中的偏振

我们用偏振来描述光波电场的方向。虽然是很复杂&#xff0c;但它的影响是完全明确和可计算的。图1显示了一个简单的长波通滤波器在斜入射时的计算性能&#xff0c;其曲线标记为p-偏振、s-偏振和平均极化。这些名称是什么意思&#xff1f; 图1. 在45条件下计算的600nm长波通滤…

华清远见(上海中心)22071

platform总线&#xff0c;三种匹配方式 一、设备名字匹配 设备文件代码>>> #include <linux/init.h> #include <linux/module.h> #include <linux/platform_device.h>//对设备信息进行填充 struct resource res[]{[0]{.start0x12345678,.end0x12…

服务网关之Spring Cloud Gateway

目录一、网关简介二、Gateway简介三、Gateway快速入门1、基础版2、增强版3、简写版四、Gateway核心架构1、基本概念2、执行流程五、断言1、内置路由断言工厂2、自定义路由断言工厂一、网关简介 大家都知道在微服务架构中&#xff0c;一个系统会被拆分为很多个微服务。那么作为客…

Linux Docker基础学习

Linux Docker基础学习Linux指令Linux安装Docker检查是否安装成功容器容器的创建删除运行停止容器端口转发查看容器提供的端口号Docker交互模式镜像镜像的拉取删除镜像的导入导出Dockerfile制作镜像上传镜像到DockerhubDockerfile文件详解FROMRUN指令镜像中添加文件&#xff08;…

运维监控系统PIGOSS BSM 对“实时数据复制”系统的监控管理

前言 随着应用信息化程度的不断深入&#xff0c;长期积累的业务数据变得价值连城。业务数据备份安全是业务连续性的重要保障&#xff1b; 而同时&#xff0c;业务数据也指导成为企业进行业务分析最有价值的科学依据。 所以&#xff0c;人们纷纷为业务系统建设容灾备份系统&…

【性能|优化】TB级flink任务报错分析:Could not compute the container Resource

文章目录一. 问题引入1. 场景描述2. 日志简析二. 初级问题分析与解决1. 问题分析1.1. yarn的调度器设置1.2. 程序设置2. 问题解决三. &#xff08;性能&#xff09;新的问题1. 问题描述2. 理想化的最优方案3. "PlanB"的解决方案四. 反思与迭代一. 问题引入 1. 场景描…

2022年工业与电力物联网技术现状分析

主要内容22年工业与电力物联网技术现状分析10大科技趋势达摩院 2022 十大科技趋势腾讯 融合2022年十大数字科技前沿应用趋势艾瑞咨询 2022年中国科技与IT十大趋势物联网技术物联网架构体系结构简介应用层2022年整体情况物联网平台及相关能力平台2022年整体情况物联网网络2022年…

Python学习:json对象与string相互转换教程

首先要明确&#xff0c;python里有json这个库&#xff0c;但并没有json这个类&#xff0c;所以所谓的json对象本质上就是一个dict&#xff1b;而json这个库&#xff0c;用于实现dict到string、string到dict的互转。 更具体一点&#xff0c;json对象&#xff08;dict&#xff0…