您好,欢迎访问一九零五行业门户网

php网络协议常见的面试点

这篇文章介绍的内容是关于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(永久移动) 请求的网页一永久移动到新位置。服务器返回此响应(对get或head请求的响应)时,会自动将请求者转到新的位置 * 302(临时移动) 服务器目前从不同位置的网页响应请求,但请求这应继续使用原有位置来进行以后的请求 * 303(查看其他位置)请求者应当对不同的位置使用单独的get请求来检索响应式,服务器返回此代码 * 304(未修改)自从上次请求后,请求的网页未修改。服务器返回此响应时,不会返回网页内容 * 307(临时重定向)服务器目前从不同位置的网页响应请求,但请求这应继续使用原来的位置进行以后的请求(遵循浏览器标准,不会从post变成get请求) * * * * 4开头(请求错误)这些状态码表示请求可能出错,妨碍了服务器的处理 * 400(错误请求)服务器不理解请求的语法 * 401(未授权) 请求要求身份验证。对于网络登录的网页,服务器有可能返回此响应 * 403(禁止)服务器拒绝请求 * 404(未找到)服务器找不到请求的网页 * * * * 5开头(服务器错误)这些状态码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错 * 500(服务器内部错误) 服务器遇到错误,无法完成请求 * 501(尚未实施) 服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。 * 502(错误网关) 服务器作为网关或代理,从上游服务器收到无效响应 * 503(服务器不可用) 服务器目前无法使用(由于超载或停机维护)。通常只是暂时状态 * 504(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求 * 505(http版本不受支持) 服务器不支持请求中所使用的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:资源缓存多久时间,-1或0,则是不缓存 cache-control:no-cache pragma:no-cache 常见的请求方法: 1、options返回服务器针对特定资源所支持的http请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性 2、head向服务器索与get请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。 3、get向特定的资源发出请求。注意:get方法不应当被用于产生“副作用”的操作中,例如在web application中,其中一个原因是get可能会被网络蜘蛛等随意访问。loadrunner中对应get请求函数:web_link和web_url 4、post向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。post请求可能会导致新的资源的建立和/或已有资源的修改。 loadrunner中对应post请求函数:web_submit_data,web_submit_form 5、put向指定资源位置上传其最新内容 6、delete请求服务器删除request-url所标识的资源 7、trace回显服务器收到的请求,主要用于测试或诊断 8、connecthttp/1.1协议中预留给能够将连接改为管道方式的代理服务器。 注意: 1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(method not allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(not implemented)。 2)http服务器至少应该实现get和head/post方法,其他方法都是可选的,此外除上述方法,特定的http服务器支持扩展自定义的方法。 */ /* * 二.常见的网络协议 网际层协议:包括:ip协议、icmp协议、arp协议、rarp协议。 传输层协议:tcp协议、udp协议。 应用层协议:ftp、telnet、smtp、http、rip、nfs、dns。 使用tcp协议的常见端口主要有以下几种: (1)ftp:定义了文件传输协议,使用21端口。常说某某计算机开了ftp服务便是启动了文件传输服务。下载文件,上传主页,都要用到ftp服务。 (2)telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于dos模式下的通信服务。如以前的bbs是纯字符界面的,支持bbs的服务器将23端口打开,对外提供服务。 (3)smtp:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置中常看到有这么smtp端口设置这个栏,服务器开放的是25号端口 (4)pop3:它是和smtp对应,pop3用于接收邮件。通常情况下,pop3协议所用的是110端口。 使用udp协议端口常见的有: (1)http:超文本传输协议。上网浏览网页时,就得在提供网页资源的计算机上打开80号端口以提供服务。常说"www服务"、"web服务器"用的就是这个端口。 (2)dns:用于域名解析服务,这种服务在windows nt系统中用得最多的。dns用的是53号端口。 (3)snmp:简单网络管理协议,使用161号端口,是用来管理网络设备的。 另外代理服务器常用以下端口: (1). http协议代理服务器常用端口号:80/8080/3128/8081/9080 (2). socks代理协议服务器常用端口号:1080 (3). ftp协议代理服务器常用端口号:21 (4). telnet协议代理服务器常用端口:23 */
以上就是php网络协议常见的面试点 的详细内容。
其它类似信息

推荐信息