搜索
首页web前端html教程关于http、https、http/2的知识

关于http、https、http/2的知识

Sep 23, 2017 am 09:34 AM
httphttps知识

在学习http、https、http/2之前,先整理一下OSI网络模型、TCP/IP协议、TCP和UDP等内容。

一、简单回顾一下OSI七层网络模型

OSI是一个开放性的通信系统互连参考模型,是一个由国际标准化组织提出的的协议规范。模型由上往下是:

  • 应用层(OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP))

  • 表示层(表示层供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别)

  • 会话层(会话层建立、管理和终止表示层与实体之间的通信会话)

  • 传输层(传输层向高层提供可靠的端到端的网络数据流服务)

  • 网络层(网络层负责在源和终点之间建立连接)

  • 数据链路层(数据链路层通过物理网络链路供数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控)

  • 物理层(物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输)

二、TCP/IP协议

TCP/IP协议整合了TCP和IP等多种协议,处理计算机与网络之间的传输,它参考和整合了OSI网络模型。常见的的TCP/IP协议分为四层,由上往下是:

  • 应用层(应用层对应于 OSI 七层参考模型的应用层和表示层)

  • 传输层(传输层对应于 OSI 七层参考模型的传输层,它供两种端到端的通信服务)

  • 网间层(本层包含 IP 协议、RIP 协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来供网络诊断信息)

  • 网络接口层(网络接口层包括用于协作IP数据在已有网络介质上传输的协议)

三、TCP和UDP

TCP(Transmission Control Protocol、传输控制协议)
是一种面向连接的、可靠的、基于字节流的传输层通信协议。UDP(User Datagram Protocol、用户数据报协议)是一个简单的面向数据报的传输层协议。他们负责OSI网络模型中传输层的处理。

TCP和UDP的简单对比:

TCP UDP
面向连接(三次握手、四次挥手) 无连接
资源占用较多 资源占用减少
保证数据顺序 数据无顺序
传输速度较慢 传输速度快
保证数据正确性 容易丢包
流模式 报文模式

四、HTTP

http(超文本传输协议)是一种常用于应用层的协议,它是基于文本传输内容。

八种请求方法

get、post、head、put、delete、trace、options、connect。

http请求信息结构

  • 请求行

  • 请求头

  • 空行

  • 其他消息

状态码

  • 1xx消息——请求已被服务器接收,继续处理

  • 2xx成功——请求已成功被服务器接收、理解、并接受

  • 3xx重定向——需要后续操作才能完成这一请求

  • 4xx请求错误——请求含有词法错误或者无法被执行

  • 5xx服务器错误——服务器在处理某个正确请求时发生错误

常见状态码200(请求成功)、302(重定向到些的url)、304(读取缓存)、404(没有找到文件或目录)、405(请求指定的方法错误)、500(服务器错误)、502(服务器无效响应)

五、HTTPS

https可以称为http安全版,主要是http下增加了SSL(安全套接层)或者TSL(传输层安全),在SSL或TSL在传输层对数据进行了加密处理。

https特点:

  • 1、保证传输信息安全(经过加密)

  • 2、需要申请证书

  • 3、可以防止运营商劫持

  • 4、由于增加了安全层,所以访问速度有所减慢

  • 5、http网站可以访问https链接,https网站无法访问http链接(除了部分支持mixed-content的浏览器)

六、SPDY

spdy是谷歌开放开放的网络传输协议,它位于http和ssl层之间,可以加快访问速度。

spdy的特点:

  • 1、可以降低延迟

  • 2、可以设置请求优先级

  • 3、header压缩

  • 4、基于https保障传输安全

  • 5、支持server push

七、HTTP/2

http/2(超文本传输协议第二版),他对http进行了一些升级改造,也参考了spdy相关的内容(可以称为spdy的演化版本)。

http/2的特点:

  • 新的二进制格式

  • 多路复用

  • header压缩

  • 支持server push

http/2和spdy的区别:

  • http/2支持http传输、spdy只支持https

  • http/2和spdy的header压缩算法不同

参考文章

TCP和UDP的区别
HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事
深入浅出-网络七层模型&&网络数据包

以上是关于http、https、http/2的知识的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
HTML的未来:网络设计的发展和趋势HTML的未来:网络设计的发展和趋势Apr 17, 2025 am 12:12 AM

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML与CSS vs. JavaScript:比较概述HTML与CSS vs. JavaScript:比较概述Apr 16, 2025 am 12:04 AM

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTML:是编程语言还是其他?HTML:是编程语言还是其他?Apr 15, 2025 am 12:13 AM

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML:建立网页的结构HTML:建立网页的结构Apr 14, 2025 am 12:14 AM

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

从文本到网站:HTML的力量从文本到网站:HTML的力量Apr 13, 2025 am 12:07 AM

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

了解HTML,CSS和JavaScript:初学者指南了解HTML,CSS和JavaScript:初学者指南Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的角色:构建Web内容HTML的角色:构建Web内容Apr 11, 2025 am 12:12 AM

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

HTML和代码:仔细观察术语HTML和代码:仔细观察术语Apr 10, 2025 am 09:28 AM

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),