搜索
首页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 25, 2025 am 12:01 AM

布尔属性是HTML中的特殊属性,不需要值即可激活。1.布尔属性通过存在与否控制元素行为,如disabled禁用输入框。2.它们的工作原理是浏览器解析时根据属性的存在改变元素行为。3.基本用法是直接添加属性,高级用法可通过JavaScript动态控制。4.常见错误是误以为需要设置值,正确写法应简洁。5.最佳实践是保持代码简洁,合理使用布尔属性以优化网页性能和用户体验。

如何验证您的HTML代码?如何验证您的HTML代码?Apr 24, 2025 am 12:04 AM

HTML代码可以通过在线验证器、集成工具和自动化流程来确保其清洁度。1)使用W3CMarkupValidationService在线验证HTML代码。2)在VisualStudioCode中安装并配置HTMLHint扩展进行实时验证。3)利用HTMLTidy在构建流程中自动验证和清理HTML文件。

HTML与CSS和JavaScript:比较Web技术HTML与CSS和JavaScript:比较Web技术Apr 23, 2025 am 12:05 AM

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

HTML作为标记语言:其功能和目的HTML作为标记语言:其功能和目的Apr 22, 2025 am 12:02 AM

HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

HTML,CSS和JavaScript的未来:网络开发趋势HTML,CSS和JavaScript的未来:网络开发趋势Apr 19, 2025 am 12:02 AM

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML:结构,CSS:样式,JavaScript:行为HTML:结构,CSS:样式,JavaScript:行为Apr 18, 2025 am 12:09 AM

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

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通过脚本控制网页行为,实现动态和交互功能。

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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

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

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。