php网络协议常见面试点

<?php
/**
 * Created by PhpStorm.
 * User: weisheng
 * Date: 2018/3/15
 * Time: 15:08
 */
/*
 * 常见考察点
 * 1.http协议状态码
 * 2.OSI七层模型
 * 3.http的工作特点和工作原理
 * 4.http常见协议请求/响应头和请求方法
 * 5.HTTPS协议的工作原理
 * 6.常见的网络协议含义及端口
 *
 */

/*
 * .http协议状态码
 * 2开头(请求成功)表示处理请求成功的状态码
 *      200(成功) 服务器已成功处理请求
 *      201(已创建)请求成功且创建了新的资源
 *      201(已接收)服务器已接受请求但尚未处理
 *      203(非授权信息) 服务器已成功处理请求,单反回的信息来自另一个来源
 *      204(无内容)服务器成功处理请求,但没有返回任何内容
 *      205(重置内容)服务器成功处理请求,但没有返回任何内容
 *      206(部分内容)服务器成功处理部分GET请求
 *
 *
 *
 * 3开头(请求重定向)表示要完成请求,需要进一步操作。通常这些状态吗用来重定向
 *      300(多种选择)   针对请求,服务器可执行多种操作。服务其根据请求者(user agent)选择一项操作,或提供操作列表供请求者选择
 *      301(永久移动)   请求的网页一永久移动到新位置。服务器返回此响应(对GETHEAD请求的响应)时,会自动将请求者转到新的位置
 *      302(临时移动)   服务器目前从不同位置的网页响应请求,但请求这应继续使用原有位置来进行以后的请求
 *      303(查看其他位置)请求者应当对不同的位置使用单独的GET请求来检索响应式,服务器返回此代码
 *      304(未修改)自从上次请求后,请求的网页未修改。服务器返回此响应时,不会返回网页内容
 *      307(临时重定向)服务器目前从不同位置的网页响应请求,但请求这应继续使用原来的位置进行以后的请求(遵循浏览器标准,不会从post变成get请求)
 *
 *
 *
 * 4开头(请求错误)这些状态码表示请求可能出错,妨碍了服务器的处理
 *      400(错误请求)服务器不理解请求的语法
 *      401(未授权) 请求要求身份验证。对于网络登录的网页,服务器有可能返回此响应
 *      403(禁止)服务器拒绝请求
 *      404(未找到)服务器找不到请求的网页
 *
 *
 *
 * 5开头(服务器错误)这些状态码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错
 *      500(服务器内部错误) 服务器遇到错误,无法完成请求
 *      501(尚未实施)   服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
 *      502(错误网关)    服务器作为网关或代理,从上游服务器收到无效响应
 *      503(服务器不可用) 服务器目前无法使用(由于超载或停机维护)。通常只是暂时状态
 *      504(网关超时)    服务器作为网关或代理,但是没有及时从上游服务器收到请求
 *      505http版本不受支持) 服务器不支持请求中所使用的HTTP协议版本
 *
 *
 *
 */



/*
 * OSI七层模型
 *      第一层:物理层             建立、维护、断开物理连接
 *      第二层:数据链路层          建立逻辑连接、硬件地址寻址、差错校验等功能
 *      第三层:网络层             进行逻辑地址寻址,实现不同网络之间的路径选择
 *      第四层:传输层             定义传输据的协议端口号,以及流控和差错检验(协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层)
 *      第五层:会话层             建立,管理,终止会话
 *      第六层:表示层             数据的表示、安全、压缩
 *      第七层:应用层             网络服务与最终用户的一个接口(协议有:HTTP FTP(文件传输 21 TFTP SMTP(简单邮件发送 25 SNMP DNS(域名解析 53 TELNET(用于远程登录 23 HTTPS POP3(接受邮件 110 DHCP)
 *
 *
 * 工作特点:基于B/S模式 通信开销小,简单快速,传输成本低    无状态
 *
 * 工作原理:客户端发送请求给服务器,创建一个TCP连接,指定端口号,默认80,连接到服务器,服务器监听浏览器请求,一旦监听到客户端请求,分析请求类型后,服务器回向客户端返回状态信息和数据内容
 *
 */


/*
 * HTTP协议常见请求/响应头
 * 请求头:
 *      请求方式:GET POST
        Accept:客户机支持的数据类型
        Accept-Charset:客户机采用的编码
        Accept-Encoding:客户机支持的数据压缩格式
        Accept-Language:客户机的语言环境
        Host:客户机想访问的主机名
        If-Modified-Since:客户机资源的缓存时间
        Referer:客户机从哪个资源来访问服务器的(防盗链)
        User-Agent:客户机的软件环境
        Cookie:向服务器带数据

响应头:
Location:这个头配合302状态码使用,告诉客户机找谁
Server:服务器的类型
Content-Encoding:数据的压缩格式
Content-Length:回送数据的长度
Content-Type:回送数据的类型
Last-Modified:当前资源缓存时间
Refresh:隔多长时间刷新一次
Content-Disposition:以下载方式打开数据
Transfer-Encoding:数据的传送格式
Etag:缓存相关的头
Expires:资源缓存多久时间,-10,则是不缓存
Cache-Control:no-cache
Pragma:no-cache


常见的请求方法:
1OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3GET
向特定的资源发出请求。注意:GET方法不应当被用于产生副作用的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_linkweb_url
4POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5PUT
向指定资源位置上传其最新内容
6DELETE
请求服务器删除Request-URL所标识的资源
7TRACE
回显服务器收到的请求,主要用于测试或诊断
8CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405Method Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501Not Implemented)。
2HTTP服务器至少应该实现GETHEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。
 */


/*
 * 二.常见的网络协议
网际层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。
传输层协议:TCP协议、UDP协议。
应用层协议:FTPTelnetSMTPHTTPRIPNFSDNS。使用TCP协议的常见端口主要有以下几种:
1FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。
2Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。
3SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口(4POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。
使用UDP协议端口常见的有:
1HTTP:超文本传输协议。上网浏览网页时,就得在提供网页资源的计算机上打开80号端口以提供服务。常说"WWW服务""Web服务器"用的就是这个端口。(2DNS:用于域名解析服务,这种服务在Windows NT系统中用得最多的。DNS用的是53号端口。
3SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。另外代理服务器常用以下端口:
1. HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080

2. SOCKS代理协议服务器常用端口号:1080 3. FTP协议代理服务器常用端口号:21 4. Telnet协议代理服务器常用端口:23
 */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值