计算机网络:应用层(二) Web与http协议

news2024/11/17 22:32:19
  • 我最近开了几个专栏,诚信互三!
    ====> |||《算法专栏》::刷题教程来自网站《代码随想录》。|||
    ====> |||《C++专栏》::记录我学习C++的经历,看完你一定会有收获。|||
    ====> |||《Linux专栏》::记录我学习Linux的经历,看完你一定会有收获。|||
    ====> |||《C#专栏》::记录我复习C#的经历,深度理解查漏补缺,不定期更新。|||
    ====> |||《计算机网络专栏》::记录我学习计算机网络,看完你一定会有收获。|||

计算机网络:应用层(二) web与http协议

  • 什么是Web
    • Web缓存
  • http是什么
    • http报文结构和内容
    • 传输过程解析
    • Cookie解析

什么是Web

Web是一些对象的集合,我们所看到的网页就是一个Web,这个网页中除了有网页自身这个HTML对象外,很可能还有其他对象的引用(URL链接)。
所谓URL链接其实就是我们所在网页的顶部看到的链接,它有着一些基本的格式。

Web页的协议就是http/https协议,下面会介绍该协议。

Web缓存

如果我要访问某一个网址,但是该网址离我所在的物理距离很远,那么我访问到该网址的速度就会很慢,为了解决这个问题,我们可以在其中设置一个中间服务器,其中存储了我想要的内容,那么以后访问的时候我就可以访问中间服务器,这样大大减小了时间的浪费。

http是什么

http(超文本传输协议),它是一个只能运行在TCP协议上的能够让2个互联网主机之间传输视频,图片,文字等超文本的一个约定和规范。

http报文结构和内容

http报文是ASCII可读的及每段二进制数都可以翻译为ASCII
http请求报文的内容如下图。
在这里插入图片描述

请求行主要包含了怎样请求,请求的链接,以及协议的版本,协议版本不同会有所差异。
请求头部,主要是一些重要的属性,头部字段名称:比如Host后根请求主机的域名是什么,Connection字段是请求的链接是持续性的还是非持续性的等等。

http响应报文的内容如下图。
在这里插入图片描述
其中最重要的就是状态码了,状态码有以下分类。

1xx:实际中用的很少不讨论。
2xx:代表服务器成功处理了请求,如200代表OK,204代表基本OK,但是没有body数据…
3xx:代表请求的资源的位置发生了变动,需要对URL重定向,如301代表该资源永久不存在与该URL,需要修改新的URL值去访问,302代表临时重定向,只不过当前无法通过该URL访问…
4xx:代表客户端有问题,如报文错误,服务器无法处理等,如404代表资源在服务器上未找到/不存在,403代表服务器禁止访问该资源…
5xx:代表服务器内部处理有问题,如501表示客户端请求目前不支持,502代表服务器作为网关/代理时,自己工作正常,但是访问的服务器发生错误…

其次http协议是基于TCP的协议,TCP协议传输过程中会出现粘包问题,对于http报文来说,通过回车和换行解决报文粘包问题,对于http报文的实体来说,可以通过Content-Length字段记录http报文实体的边界,从而解决粘包问题。

传输过程解析

在传输过程中,首先应用层要使用下层及运输层为其提供的服务,http基于TCP协议运输的,所以首先要进行TCP的三次握手,在成功建立了通讯信道后,数据在此信道上进行传输,忽略TCP三次握手的时间,一次传输需要消耗的时间是1个RTT如图。
在这里插入图片描述
在http1.0版本中,默认在传输一次过后就关闭这个传输信道,而在http1.1版本中,默认为只要有一方没有发送中断链接报文,则就不中断链接。
同时我们也可以在http请求报文中使用Connection字段来设置传输的方法。
http不仅支持上述传输,还支持流水线传输,及上一个报文刚发出去,下一个报文就已经准备发出了,这样大大提高了http报文传输的效率。

Cookie解析

http是无状态性的,每次访问服务器,服务器不会记录访问的状态,为了解决这个问题,可以使用Cookie技术。
Cookie技术就时将用户信息写入Cookie中进行维护。
当一个用户第一次访问该服务器时,服务器会将Cookie和响应报文一起发回去,当该用户第二次访问该服务器时,其请求报文会将上次返回的Cookie也一并发送,这样服务器就可以读取Cookie值,就能进行状态的记忆了。

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

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

相关文章

Cloudflare始终使用HTTPS且带参数跳转到www的域名

文章目录 设置教程设置图跳转实测 设置教程 关闭 SSL/TLS -> 边缘证书 的 Always Use HTTPS 规则 -> 页面规则 -> URL: http://www.example.com/* 设置成始终使用HTTPS 规则 -> 页面规则 -> URL: example.com/* 设置成 转发URL301重定向到 to https://www.ex…

【网络安全】HTTP Slowloris攻击原理解析

文章目录 Slowloris攻击的概念Slowloris攻击原理Slowloris攻击的步骤其他的DDoS攻击类型UDP FloodICMP (Ping) FloodSYN FloodPing of DeathNTP AmplificationHTTP FloodZero-day DDoS 攻击 推荐阅读 Slowloris攻击的概念 Slowloris是在2009年由著名Web安全专家RSnake提出的一…

西南交通大学【数电实验7---按键防抖动设计】

实验电路图、状态图、程序代码、仿真代码、仿真波形图(可以只写出核心功能代码,代码要有注释) 一共四个状态:1.未按下时空闲状态 2.按下抖动滤除状态 3.按下稳定状态 4.释放抖动滤除状态 在第一个状态时,等待按键按下&…

智能优化算法应用:基于探路者算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于探路者算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于探路者算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.探路者算法4.实验参数设定5.算法结果6.参考文…

轻松制作健身预约小程序

如果你想制作一个健身预约小程序,实现高效预约与健身管理,可以按照以下步骤进行操作。 第一步:注册登录乔拓云平台,进入后台 第二步:点击【轻应用小程序】,进入设计小程序页面。 第三步:在设计小…

Java---Collection讲解(一)

文章目录 1. 集合体系结构2. Collection集合概述和使用3. Collection集合的遍历4. 小案例分析5. List集合概述和特点6. List集合的特有方法7. 小案例分析 1. 集合体系结构 集合体系结构如下所示。在实现时我们需要使用接口的具体实现类。 2. Collection集合概述和使用 1. Colle…

MySQL数据库 入门

目录 一、MySQL概述 二、MySQL安装 安装数据库 配置数据库 启动停止数据库 客户端连接数据库 三、数据模型 四、SQL 一、MySQL概述 先来讲解三个概念:数据库、数据库管理系统、 SQL 。 而目前主流的关系型数据库管理系统的市场占有率排名如下: …

【jitterbuffer】3:VCMJitterEstimator及所需的概率知识:期望、方差、协方差

期望 : 全国的平均积雪深度 期望值为负 概率就是 不同国家的面积了,总面积是1 期望计算公式 某种函数的期望 K的求和范围 计算期望 1

windows任意APP注册成服务(以nginx服务为例)

前言 最近需要部署一个前端项目,用到了nginx。正常情况是:需要使用时nginx服务时,进入到nginx.exe所在目录,然后执行:start nginx.exe,但是线上环境这样搞的话还是不太科学。由于好奇心(懒&…

解读unity内置的软阴影处理方式

解读unity内置的软阴影处理方式: 参考网址: https://blog.csdn.net/cgy56191948/article/details/105726682 https://blog.csdn.net/weixin_45776473/article/details/119582218 https://tajourney.games/5482/ 上面的博客已经论述了,为何出现…

猫头虎博主深度解析:Tomcat中的`IllegalArgumentException`异常处理全攻略 ️

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

Etsy运营秘籍——打造大卖店铺的九大技巧

在跨境电商的浩瀚海洋中,Etsy 作为一个注重手工制作与独特设计的平台,吸引了众多卖家的关注。在 Etsy 的世界里,成功运营小店需要更多的智慧和技巧。作为一位在 Etsy 上开店多年的老手,在这过程中也总结了不少经验,这篇…

微服务组件Sentinel的学习(2)

限流规则 流控模式直接模式关联模式链路模式 流控效果快速失败warm up排队等待 热点参数限流 流控模式 添加限流规则,可点击高级选项,有三种流控模式选择: 直接:统计当前资源的请求,触发闻值时对当前资源直接限流,也是…

LeetCode力扣每日一题(Java):69、x 的平方根

一、题目 二、解题思路 1、 我的思路 我的思路是直接循环暴力破解&#xff0c;定义计数器i&#xff0c;从1开始递增&#xff0c;直到i*i大于或等于x 于是有了如下代码 int i 1;while(true){if(i*i<x){i;}else if(i*ix){return i;}else{return i-1;}} 但提交之后超出了…

开启虚拟世界的新篇章

近年来&#xff0c;随着科技的迅猛发展&#xff0c;人们生活方式的改变也日益显著。而其中一个最引人注目的变化便是数字人直播的兴起。数字人直播以其独特的魅力&#xff0c;成为了当今社会中备受关注的热门话题。本文将从数字人直播的定义、应用领域以及未来发展等方面&#…

状态的一致性和FlinkSQL

状态一致性 一致性其实就是结果的正确性。精确一次是指数据有可能被处理多次&#xff0c;但是结果只有一个。 三个级别&#xff1a; 最多一次&#xff1a;1次或0次&#xff0c;有可能丢数据至少一次&#xff1a;1次或n次&#xff0c;出错可能会重试 输入端只要可以做到数据重…

怎么选择合适的3ds Max云渲染农场?

3ds Max 用户日常面临的一个共同挑战便是漫长的渲染周期。作为一个强大的三维建模和渲染软件&#xff0c;3ds Max 势必需处理大量的光照、材质和阴影计算任务&#xff0c;因此&#xff0c;良好的渲染方案对从业者而言尤为重口。 一、为何考虑3ds Max云渲染? 云渲染成为了解决…

mysql中DML数据操作的增 修 删

现有如下的表 DML 数据操作 增(四种方法) 修 删 -- 增 INSERT INTO student (NAME,birthday,phone,height,reg_time)VALUES(詹姆斯,1985-2-3,15222233,1.98,NOW()) INSERT INTO student SET NAME科比 ,birthday19863,phone15622333 -- 插入多个 INSERT INTO student (NAME…

使用C++11开发一个半同步半异步线程池

半同步半异步线程池介绍 在处理大量并发任务的时候&#xff0c;如果按照传统的方式&#xff0c;一个请求一个线程来处理请求任务&#xff0c;大量的线程创建和销毁将消耗过多的系统资源&#xff0c;还增加了线程上下文切换的开销&#xff0c;而通过线程池技术就可以很好的解决这…

命令执行 [BUUCTF 2018]Online Tool1

打开题目 我们代码审计一下 if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { $_SERVER[REMOTE_ADDR] $_SERVER[HTTP_X_FORWARDED_FOR]; } 如果存在xxf头且不为空&#xff0c;则将xxf头内容&#xff08;真实的客户端ip&#xff09;赋给ROMOTE_ADDR&#xff08;代理服务器传过…