全面解读php-网络协议
一、OSI七层模型

1、物理层
作用:建立,维护,断开物理连接
2、数据链路层
作用:建立逻辑连接,进行硬件地址寻址,差错校验等功能。
3、网络层
作用:进行逻辑地址寻址,实现不同网络之间的路径选择。
4、传输层
作用:定义传输数据的协议端口号,以及流控和差错校验。
协议有:TCP、UDP,数据包一旦离开网卡即进入网络传输层。
5、会话层
作用:建立、管理和终止会话。
6、表示层
作用:数据的表示,安全和压缩。
7、应用层
作用:网络服务与最终用户的接口。
协议有:HTTP、HTTPS、FTP、SMTP、DNS、TELNET、POP3、DHCP、SNMP
二、HTTP协议的工作特点和工作原理
1、工作特点
- 基于B/S模式 (Browser/Server,浏览器/服务器模式)。
- 通信开销小,简单快速,传输陈本低。
- 使用灵活,可使用超文本传输协议。
- 节省传输时间。
- 无状态。
2、工作原理

三、HTTP常见请求/响应头
Content-type: 请求的与实体对应的MIME信息。
Accept: 指定客户端能接受的内容和类型。
Origin: 最初的请求来源于哪儿,主要用于POST请求。
Cookie: HTTP请求发起时,发送给服务端的cookie值。
Cache-Control: 指定请求或响应的缓存机制。
User-Agent: 用户信息。
Referer:上级请求路径,和Origin的不同之处在于Orgin只能用于POST,而Referer是所有的请求都可以。
X-Forwarded-For: 请求端的真实的IP,做代理的时候可能需要用它来获取IP。
Access-Control/Allow-Origin: 允许特定的域名来进行访问,跨域的时候需要用到。
Last-Modified: 请求资源的最后响应时间。
四、HTTP协议的请求方法

1、GET (查)
get请求会显示请求所指定的资源,主要用于数据的读取,是幂等的操作,而不应该用于非幂等的操作。
注:幂等:每次拿到的数据都是一样的。
2、POST (增)
向指定资源提交数据,由服务器进行处理,POST方法是非幂等的方法,POST请求可能会创建新的资源或者修改现有的资源,通常情况下,RESTAPI规则中,创建用POST
3、HEAD
和GET方法一样,都是想服务器发送指定资源的请求,但是服务器在响应HEAD请求时不会回传资源的内容部分,只会回传头信息。
4、OPTIONS
与HEAD类似,一般用于客户端查看服务器的性能,返回由该资源所支持的所有HTTP请求方法,该方法会用 ' * ' 来代替资源名称,向服务器发送OPTIONS请求可以测试服务器功能是否正常。
5、PUT (改)
PUT会向指定资源位置上传最新的内容,是幂等的方法,通过该方法客户端可以将指定资源的最新数据传送给服务器取代指定资源的内容,通常情况下,RESTAPI规则中,修改用PUT.
6、DELETE (删)
DELETE用于请求服务器删除所请求的URL所标识的资源,DELETE是幂等方法。
7、TRANCE
TRANCE用于请求服务器回显所收到的请求信息,该方法主要用于HTTP请求的测试或诊断。
GET和POST的区别
- 1、GET在做后退或刷新的时候,没什么太大的区别,是无害的。POST数据会被重新提交。
- 2、GET可以收藏为书签,POST不能被收藏为书签。
- 3、GET可以被浏览器缓存,POST不能被浏览器缓存。
- 4、GET请求的编码类型为 application/www-form-urlencoded,POST除此之外还有一种 multipart/form-data,对二进制数据使用多重编码。
- 5、GET的参数会保留在历史记录中,POST的参数不会存在于历史记录中。
- 6、GET的数据长度有限制,最长为个字符,而POST没有限制。
- 7、GET的数据类型值允许ASCII字符,POST没有此限制,还允许二进制的数据。
- 8、GET的安全性差,不能传输敏感信息,POST安全性高。
五、HTTPS的工作原理
HTTPS是一种基于SSL/TLS的http协议,所有的HTTP数据都是在SSL/TLS协议封装之上传输的。
HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。
六、常见的网络协议及端口
5、HTTP:超文本传输协议 ,默认端口为 80
全面解读php-网络协议的更多相关文章
- Linux学习(1)- TCP/IP网络协议基础
Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...
- 协议 - OSI七层网络协议模型
摘自:https://www.cnblogs.com/oneplace/p/5611094.html 互联网协议 本文全文转载阮一峰老师的两篇文章,自己做了一些添加内容 参考:互联网协议入门(一) 互 ...
- TCP/IP网络协议基础
实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...
- 网络协议及socket
实体层:就是把电脑连接起来的物理手段.它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号. 链接层: 单纯的0和1没有任何意义,必须规定解读方式:多少个电信号算一组?每个信号位有何意义? 这 ...
- 小学生都能读懂的网络协议之:WebSocket
目录 简介 webSocket vs HTTP HTTP upgrade header websocket的优点 webScoket的应用 websocket的握手流程 WebSocket API 总 ...
- 网络协议之:WebSocket的消息格式
目录 简介 WebSocket的握手流程 webSocket的消息格式 Extensions和Subprotocols 总结 简介 我们知道WebSocket是建立在TCP协议基础上的一种网络协议,用 ...
- 初探计算机网络之TCP/IP网络协议
网络协议 在计算机诞生以来,从最原始的单机模式到现在多台计算机协同工作,形成计算机网络,从前很难想象的信息共享.多机合作.大规模计算在今天也早已成了现实.在早期,计算机网络需要解决的痛点,就是怎样 ...
- 网络协议之:一定要大写的SOCKS
目录 简介 SOCKS的故事 SOCKS的历史 SOCKS协议的具体内容 SOCKS4 SOCKS4a SOCKS5 总结 简介 很久很久以前,人们还穿的是草鞋,草鞋虽然穿着舒服,但是不够美观.然后人 ...
- 网络协议之:基于UDP的高速数据传输协议UDT
目录 简介 UDT协议 UDT的缺点 总结 简介 简单就是美.在网络协议的世界中,TCP和UDP是建立在IP协议基础上的两个非常通用的协议.我们现在经常使用的HTTP协议就是建立在TCP协议的基础上的 ...
- 网络协议之:sctp流控制传输协议
目录 简介 TCP有什么不好 sctp的特点 总结 简介 要讲网络协议,肯定离不开OSI(Open System Interconnection)的七层模型. 我们一般关注的是网络层之上的几层,比如I ...
随机推荐
- 【转载】java工程师学习之路---给自己的目标
想学习或者提升java的可以看看,单从java角度来看总结的虽然还是很全面的,主要是为了自己看 http://blog.csdn.net/peace1213/article/details/50849 ...
- 1.device-manage 优化
一.当前简介 版本信息 device-manage:v1.0 mysql: 5.6.20 jdk : 1.8 Apache Maven 3.3.3 Spring4.2.5.RELEAS+SpingMV ...
- shell 里面的计算
---恢复内容开始--- 关于shell里面的计算其实早在接触LINUX的时候就已经接触到了.每次在运用的时候却是在网上到处找,所以觉得花点时间好好研究下. 首先了解下常用的算数运算符号: + - ...
- 使用ELK进行日志分析
0x01 前言: 前段时间做应急,总是需要溯源分析,痛点是数据量比较大,想要短时间能分析出来.再者就是之前在调查某酒店事件的时候特别羡慕某产商有各种分析溯源工具.反思过后,终于在没有那么忙的时候开始搭 ...
- date( ) 日期函数
date('Y-m-dT2:00') 实际时间为14:00 date('Y-m-d 2:00') 实际时间为2:00 扩展:每天的时间戳秒数为 86400
- 00常见的Linux系统版本
linux系统内核与linux发行套件系统并不相同: linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层.硬盘及文件系统控制及多任务功能的系统核心程序. linux发行 ...
- PyCharm上unittest 测试用例两种执行方式
每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行... 当然,首先确认代码是OK的,如果代码 ...
- 【基础操作】博弈论 / SG 函数详解
博弈死我了……(话说哪个小学生会玩博弈论提到的这类弱智游戏,还取石子) 先推荐两个文章链接:浅谈算法——博弈论(从零开始的博弈论) 博弈论相关知识及其应用 This article was updat ...
- 浅析Java web程序之客户端和服务器端交互原理
原文链接: https://www.iteye.com/topic/470019 1. 协议 a. TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型.传统的开放式系统互连参考 ...
- DevExpress ASP.NET Core v19.1版本亮点:Pivot Grid控件等
行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Core Controls v19.1中新增的一些控件及增强 ...