首页 后端开发 php教程 php网络协议常见的面试点

php网络协议常见的面试点

Apr 24, 2018 am 09:33 AM
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网络协议常见的面试点 的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热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

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1276
29
C# 教程
1256
24
PHP与Python:了解差异 PHP与Python:了解差异 Apr 11, 2025 am 12:15 AM

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP和Python:比较两种流行的编程语言 PHP和Python:比较两种流行的编程语言 Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP行动:现实世界中的示例和应用程序 PHP行动:现实世界中的示例和应用程序 Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP的持久相关性:它还活着吗? PHP的持久相关性:它还活着吗? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

PHP和Python:解释了不同的范例 PHP和Python:解释了不同的范例 Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP与其他语言:比较 PHP与其他语言:比较 Apr 13, 2025 am 12:19 AM

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP和Python:代码示例和比较 PHP和Python:代码示例和比较 Apr 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

See all articles