在学习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中文网其他相关文章!

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

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

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

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

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

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

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


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Linux新版
SublimeText3 Linux最新版

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

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。