最新要闻
- 美国近期频现由误会引发的枪击案 专家批政客对枪支暴力漠不关心-动态
- 画质直逼电影!《GTA6》要官宣了:男女双主角剧情想象力巨大_环球热头条
- 新研究:未成年人做CT两次及以上会增加患癌风险
- 淄博确定了!五一清华、北大学生免费游 还有专车统一接送
- 当前短讯!空调技术革新,小米空调引领智能化空调,中国制造享誉世界
- 165开头的是哪里电话_165开头的是哪里的号码-当前简讯
- 全球微资讯!苹果被国内厂商起诉,天价赔偿前所未有!
- 专业创作本的不二之选!华硕ProArt 创16 2023评测:极限性能和顶级OLED屏幕-天天最资讯
- 环球焦点!口口都是肉:众品地道肉肠1.3元/根发车(肉含量≥85%)
- 延续经典实体旋钮设计!华硕ProArt创16 2023正式发布
- 曾痛骂“骗氪”的网瘾少年 成为了玩家口中的狗策划
- 焦点热讯:全能轻薄本!华硕无畏Pro16 2023旗舰版发布:13代酷睿i9+RTX 4070加持
- 全球今日讯!4月25日机构最看好的10只股票
- 【全球播资讯】速戳了解!扬州住房保障新政策来了!
- 行业观|正收益占比最高,百亿私募增至115家 多家争相布局数字经济板块
- 武汉空轨列车悬空飞驰科幻感拉满!全自动驾驶、270°观景 全球今亮点
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
第138篇:了解HTTP协议(TCP/IP协议,DNS域名解析,浏览器缓存)
好家伙,发现自己的网络知识十分匮乏,赶紧补一下
(相关资料图)
这里先举个我生活中的例子
欸,作业不会写了,上网搜一下
用edge浏览器上bing必应搜一下(百度广告太多了,真不想用百度举例子)
假设这是我们第一次访问bing的首页当我向浏览器中输入https://cn.bing.com/并按下回车浏览器做了什么?(我们要分清两个端,客户端和服务器端)1.浏览器向宽带运营商服务器或者域名服务器发起一个 DNS 解析请求,之后浏览器获得了bing首页的 IP 地址。
2.拿到 IP 地址后,浏览器就向该 IP 所在的服务器建立 TCP 连接(即三次握手)。
3.连接建立起来之后,浏览器就可以向服务器发起 HTTP 请求了。
4.服务器接受到这个请求后,根据路径参数,经过后台一些处理之后,把处理后的结果返回给浏览器(把完整的HTML页面代码返回给浏览器)5.浏览器(客户端)拿到了完整的HTML网页代码,浏览器内核和JS引擎就会开始解析和渲染这个页面,里面的JS,CSS,图片等静态资源也通过后续的HTTP请求进行加载6.浏览器根据拿到的资源对页面进行渲染,最终把完整的页面呈现给用户。7.如果浏览器没有后续的请求,那么就会跟服务器端发起 TCP 断开(即四次挥手)。1.浏览器缓存
浏览器缓存(Browser Caching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。---百度百科继续上面的例子:当我们再次使用edge打开bing搜索首页时,edge优先搜索自身的DNS缓存,找到https://cn.bing.com/的IP地址然后重复上述步骤若https://cn.bing.com/的完整HTML网页和静态资源已经在浏览器缓存中(在上一次访问中留下的资源,且未被删除),那么直接进行加载。DNS缓存,以及相关的网页资源都属于浏览器缓存根据这两个例子,我们继续学习:2.什么是DNS?域名系统(英文:DomainNameSystem,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。----百度百科结合上面的例子我们不难理解这个东西,就像之前上线我自己的项目的时候,我的网站就是一串IP地址,然后我要去买一个域名,这样,别人就可以通过域名来访问我的网站,而不是通过一串IP地址www.baidu.com显然比 111.426.125.789 更易读来自小米新域名价格曝光:简直太土豪了-小米,新域名,交易,价格,曝光,土豪, ——快科技(驱动之家旗下媒体)--科技改变未来 (mydrivers.com)
那么域名到IP的解析,就是通过DNS来完成的
2.什么是http协议?
超文本传输协议(Hyper TextTransfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。
它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;
----百度百科
2.1.HTTP基础概念
HTTP,全称为 HyperText Transfer Protocol,即为超文本传输协议。
是互联网应用最为广泛的一种网络协议,所有的 www 文件都必须遵守这个标准。
2.2.HTTP 特性:
- HTTP 是无连接无状态的
- HTTP 一般构建于 TCP/IP 协议之上,默认端口号是 80
HTTP 可以分为两个部分,即请求和响应。
HTTP 请求由三个部分构成,分别是:状态行,请求头,请求正文
HTTP 响应由类似的三个部分构成:状态行,响应头,响应正文
2.3.HTTP消息结构
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。
2.3.1.服务器响应消息
(两张都是在菜鸟偷的图)
2.4.HTTP 请求方法:
HTTP 定义了在与服务器交互的不同方式,最常用的方法有 4 种,分别是 GET,POST,PUT, DELETE。
URL 全称为资源描述符,可以这么认为:一个 URL 地址,对应着一个网络上的资源,而 HTTP 中的 GET,POST,PUT,DELETE 就对应着对这个资源的查询,修改,增添,删除4个操作。
(哦,熟悉的增删查改)
2.5.HTTP响应头信息
应答头 | 说明 |
---|---|
Allow | 服务器支持哪些请求方法(如GET、POST等)。 |
Content-Encoding | 文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader("Accept-Encoding"))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面。 |
Content-Length | 表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入 ByteArrayOutputStream,完成后查看其大小,然后把该值放入Content-Length头,最后通过byteArrayStream.writeTo(response.getOutputStream()发送内容。 |
Content-Type | 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType。 |
Date | 当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。 |
Expires | 应该在什么时候认为文档已经过期,从而不再缓存它? |
Last-Modified | 文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304(Not Modified)状态。Last-Modified也可用setDateHeader方法来设置。 |
Location | 表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。 |
Refresh | 表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader("Refresh", "5; URL=http://host/path")让浏览器读取指定的页面。注意这种功能通常是通过设置HTML页面HEAD区的<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://host/path">实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的HTML编写者十分重要。但是,对于Servlet来说,直接设置Refresh头更加方便。注意Refresh的意义是"N秒之后刷新本页面或访问指定页面",而不是"每隔N秒刷新本页面或访问指定页面"。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可以阻止浏览器继续刷新,不管是使用Refresh头还是<META HTTP-EQUIV="Refresh" ...>。注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。 |
Server | 服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。 |
Set-Cookie | 设置和页面关联的Cookie。Servlet不应使用response.setHeader("Set-Cookie", ...),而是应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。 |
WWW-Authenticate | 客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。例如,response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\"")。注意Servlet一般不进行这方面的处理,而是让Web服务器的专门机制来控制受密码保护页面的访问(例如.htaccess)。 |
2.6.HTTP 状态码
HTTP 响应中包含一个状态码,用来表示服务器对客户端响应的结果。
HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。
响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
常见状态码:
100 | Continue | 继续。客户端应继续其请求 |
101 | Switching Protocols | 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议 |
200 | OK | 请求成功。一般用于GET与POST请求 |
201 | Created | 已创建。成功请求并创建了新的资源 |
202 | Accepted | 已接受。已经接受请求,但未处理完成 |
300 | Multiple Choices | 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择 |
301 | Moved Permanently | 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替 |
302 | Found | 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI |
400 | Bad Request | 客户端请求的语法错误,服务器无法理解 |
401 | Unauthorized | 请求要求用户的身份认证 |
402 | Payment Required | 保留,将来使用 |
403 | Forbidden | 服务器理解请求客户端的请求,但是拒绝执行此请求 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面 |
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
501 | Not Implemented | 服务器不支持请求的功能,无法完成请求 |
502 | Bad Gateway | 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 |
503 | Service Unavailable | 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中 |
504 | Gateway Time-out | 充当网关或代理的服务器,未及时从远端服务器获取请求 |
505 | HTTP Version not supported | 服务器不支持请求的HTTP协议的版本,无法完成处理 |
(以上表格均来自菜鸟教程HTTP 教程 | 菜鸟教程 (runoob.com))
3.TCP是什么?
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793[1]定义。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。----百度百科所以这也是个。。。传输协议?。。百度百科上说的太复杂了我决定去菜鸟看3.1.浏览器与服务器都在使用 TCP/IP 协议
浏览器与服务器使用 TCP/IP 协议来链接因特网。
浏览器使用 TCP/IP 协议进入服务器,服务器使用 TCP/IP 协议来发送 HTML 到浏览器。
3.2.因特网地址是 TCP/IP 协议
因特网地址比如 "42.120.45.233" 就是一个 TCP/IP 协议。
3.3.IP地址
每个计算机必须有一个 IP 地址才能够连入因特网。
每个 IP 包必须有一个地址才能够发送到另一台计算机。
在本教程下一节,您会学习到更多关于 IP 地址和 IP 名称的知识。
3.4.IP 是无连接的
IP 用于计算机之间的通信。
IP 是无连接的通信协议。它不会占用两个正在通信的计算机之间的通信线路。这样,IP 就降低了对网络线路的需求。每条线可以同时满足许多不同的计算机之间的通信需要。
通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。
IP 负责将每个包路由至它的目的地。
3.5.IP 路由器
当一个 IP 包从一台计算机被发送,它会到达一个 IP 路由器。
IP 路由器负责将这个包路由至它的目的地,直接地或者通过其他的路由器。
在一个相同的通信中,一个包所经由的路径可能会和其他的包不同。而路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址。
3.6TCP/IP
TCP/IP 意味着 TCP 和 IP 在一起协同工作。
TCP 负责应用软件(比如您的浏览器)和网络软件之间的通信。
IP 负责计算机之间的通信。
TCP 负责将数据分割并装入 IP 包,然后在它们到达的时候重新组合它们。
IP 负责将包发送至接受者。
3.7.建立连接
TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。TCP三次握手的过程如下:- 客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SENT状态。
- 服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
- 客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
3.8.连接终止
TCP是因特网中的传输层协议,使用四次挥手协议断开连接(看不懂...)TCP四次挥手详解_oOoOoOooOO的博客-CSDN博客参考文章:1.网络基础知识之 HTTP 协议 - 知乎 (zhihu.com)2.百度百科_全球领先的中文百科全书 (baidu.com)3.TCP三次握手详解-深入浅出(有图实例演示)_jun2016425的博客-CSDN博客4.TCP/IP 教程 | 菜鸟教程 (runoob.com)关键词:
第138篇:了解HTTP协议(TCP/IP协议,DNS域名解析,浏览器缓存)
美国近期频现由误会引发的枪击案 专家批政客对枪支暴力漠不关心-动态
智利锂矿国有化消息引发“锂王”参股公司股价巨震 可能对全球锂市场产生重大影响_每日动态
画质直逼电影!《GTA6》要官宣了:男女双主角剧情想象力巨大_环球热头条
新研究:未成年人做CT两次及以上会增加患癌风险
淄博确定了!五一清华、北大学生免费游 还有专车统一接送
当前短讯!空调技术革新,小米空调引领智能化空调,中国制造享誉世界
环球热文:【SSM】一、了解Sping 框架
世界最新:算法、表达式、生成器
165开头的是哪里电话_165开头的是哪里的号码-当前简讯
全球微资讯!苹果被国内厂商起诉,天价赔偿前所未有!
专业创作本的不二之选!华硕ProArt 创16 2023评测:极限性能和顶级OLED屏幕-天天最资讯
环球焦点!口口都是肉:众品地道肉肠1.3元/根发车(肉含量≥85%)
延续经典实体旋钮设计!华硕ProArt创16 2023正式发布
曾痛骂“骗氪”的网瘾少年 成为了玩家口中的狗策划
焦点热讯:全能轻薄本!华硕无畏Pro16 2023旗舰版发布:13代酷睿i9+RTX 4070加持
全球今日讯!4月25日机构最看好的10只股票
【全球播资讯】速戳了解!扬州住房保障新政策来了!
行业观|正收益占比最高,百亿私募增至115家 多家争相布局数字经济板块
武汉空轨列车悬空飞驰科幻感拉满!全自动驾驶、270°观景 全球今亮点
猜猜都有谁!李想:2025年新能源五大常任理事品牌诞生
AMD最强游戏处理器R7 7800X3D遥遥领先!玩家找不到第二款
联想YOGA Pro轻薄本发布:普及32GB内存 RTX 4060版干到1.3万元
SE自研AI“蠢到感人”:测试游戏《港口镇连续杀人事件》Steam差评如潮_看点
公司问答丨赣锋锂业:智利锂产业国有化将减少潜在竞争者 对行业来说可能是利好
世界短讯!防盗门锁芯好换吗_换锁芯防盗门
飞腾X100 LPDDR颗粒线序配置辅助工具-世界热点评
浅谈秦九韶算法 焦点信息
世界通讯!Mybatis框架原理概览
天天新消息丨上实望海——价格, 户型丨楼盘测评
"钢铁侠黑寡妇在今年牺牲"登热搜 网友:寡姐太可惜!
看点:还能如此?李想:想要获得更好碰撞成绩只需暂时下调零部件价格
每日动态!Intel 14代酷睿真的有四级缓存:容量超1GB!好处超乎想象
每日观察!2kg铜镇压!被动散热AMD锐龙9 7950X成功装机:无风扇零噪音
五一民宿涨价毁约被指吃相难看 多平台回应:承担最高3倍差价 实时
一款全面又开源的区块链开发者工具箱
记录-使用双token实现无感刷新,前后端详细代码-天天头条
易基因:ChIP-seq等揭示热休克转录因子A1b调控植物高温胁迫响应的分子机制|应激反应 环球观速讯
Natasha 高级编译类 (五)- 第一部分
世界速看:开心档之C++ 类 & 对象
俞敏洪豪横分红7.75亿,东方甄选高薪留人? 每日快看
债市日报:4月24日|实时焦点
【世界独家】滨海新区两个区域公用品牌登录全国名特优新农产品
手感温润如玉石!双曲屏新机vivo Y78+图赏-每日速递
深圳农民工路边即兴弹奏钢琴让人惊叹:从小热爱音乐 不甘心放弃_今日精选
【天天速看料】安全无选配!理想L8中保研测试结果出炉:25%碰撞A柱稳如泰山
近9成网友表示调休影响工作效率:摸了一天鱼 啥也没干
已婚女子求职被追问有几个孩子:HR称有2个孩子才算稳定
MySQL(一)卸载与重装
Apple 的 plist 编辑器入门指南:基础操作与高级功能详解 快播
全球即时:编程中最难的就是命名?这几招教你快速上手
世界热点评!使用Plist编辑器——简单入门指南
Django简介 安装下载 app概念 主要目录介绍_当前时讯
当前看点!公允价值变动损失同比减少 天士力一季度归母净利润同比扭亏
全球焦点!【金融街发布】人民银行:截至2023年3月末全国共有小额贷款公司5801家 贷款余额8722亿元
每日看点!从千兆到万兆,打造F5.5G全光万兆之城五大场景
SMM数据 全球快看点
暴击RTX 4060 Ti!AMD RDNA3桌面新卡终于出鞘:RX 7600 5月见
新一代雪雕!技嘉Z790 AORUS ELITE AX-W主板图赏 当前观察
环球即时看!一文看懂Hi 畅享60与华为畅享60关键区别:国产鸿蒙系统、5G你选谁?
“五一”国内机票订单量暴涨800%:北京飞大理近8000元
5月份你的工资卡里或多一笔钱:别忘了领加班费
今日热议:【介绍】C++五种迭代器
【天天播资讯】命令执行中cat 和tac的区别
Redis Plus 来了,性能炸裂! 当前短讯
产品研发流程规范-参考|每日热文
FBEC大会 | 瑞云科技 CTO 赵志杰:元宇宙时代的基础设施——实时云渲染|天天百事通
华星创业:公司投资成都司元主要系业务上考虑|全球最新
迪士尼《小美人鱼》最新剧照:爱丽儿与六位人鱼姐姐集体亮相 天天新资讯
天天热头条丨疯狂对标比亚迪宋 吉利银河L7首车下线:CLTC能跑1300多公里
天天日报丨青春回归!腾讯音游《节奏大师》终测开启:安卓不限参与名额
苹果、高通靠边站!5G标准必要专利全球排名:华为第一 国产厂商无敌 环球通讯
环球快看:消息称特斯拉准备从上海向加拿大出口Model Y:系首次出口北美
火山的女儿神射手结局怎么达成
河北省取暖费发放标准2018_2019_河北省取暖费发放标准2018_全球资讯
精彩看点:「教程」天气预警 API 详解:申请密钥到接入代码一气呵成!
热消息:【译】如何在 Visual Studio 中调试异步代码
chatgpt~插件介绍
为什么你永远不应该在CSS中使用px来设置字体大小-今日关注
Natasha 编译单元(四)_世界快资讯
【快播报】安全头盔是个宝 骑乘人都要佩戴好
知名男演员李光洁跟电诈团伙打36分钟电话:半天才发现破绽
当前时讯:减重近一吨 我国首辆镁合金轻量化挂车交付
手机/PC双端互通!米哈游《崩坏:星穹铁道》预下载开启:4月26日上线
实拍“星舰”发射失败后现场:发射台报废、地面影像设备尽毁|世界焦点
最强拍照折叠屏!小米MIX Fold 3规格曝光:用上一英寸IMX989
打哈欠真的会传染吗 环球快看点
科创板首批“重大违法退”锁定,注册制下退市生态加速构建 世界独家
Anki 无需网络如何同步 手机和电脑进行同步
盘点| 有哪些比较新的好用的React Native 开发工具? 天天最新
快看点丨技术干货|如何利用 ChunJun 实现数据实时同步?
当前快看:python工具模块介绍-time 时间访问和转换
厦门钨业于云南新设科技发展子公司:企查查APP显示,近日,云南厦钨科技发展有限公司成立,注册资本100万元,经营范围包含 全球热文
全球热头条丨电池原材料价格大跌坑到宁王?宁德时代回应
天天快讯:每小时1000公里 !我国“高速飞车”研制取得新进展
每日热讯!马斯克请回来的4D成像雷达 百度小米蔚来也押注了:战况很激烈
《天宫之镜》上线:首次慢直播中国空间站-天天实时
每日焦点!同飞股份4月24日盘中涨幅达5%
焦点报道:C#用dynamic一行代码实现反射操作
最后时刻单防福克斯!追梦:如果这让你感觉不好 我很抱歉