资讯专栏INFORMATION COLUMN

PHP面试之网络协议面试题

Dogee / 1349人阅读

摘要:之前的文章可以关注我的面试专栏获取,或者关注我的公众号琉忆编程库查看历史获取。面试时如何给自己添金没接触过支付功能为此特意准备了一篇新手零基础对接境外支付的文章,为你面试添金,关注公众号琉忆编程库,回复,我发给你。

你好,是我琉忆。
本篇是本周(2019.2-25至3-1)的最后一篇文章。
之前的文章可以关注我的“PHP面试”专栏获取,或者关注我的公众号“琉忆编程库”查看历史获取。

我正在segmentfault社区送两本书:《PHP程序员面试笔试真题解析》 ,今晚(3月1日)19点开奖,欢迎参与。

明天就是周末了,提前祝各位周末愉快。

面试时如何给自己添金?没接触过支付功能?为此特意准备了一篇“新手零基础对接境外支付paypal”的文章,为你面试添金,关注公众号:“琉忆编程库”,回复:“pay”,我发给你。

以下正文的内容来自《PHP程序员面试笔试真题解析》书籍,如果转载请保留出处:


【真题1】如何利用PHP解决HTTP的无状态本质?

答案:可以使用Session和Cookie记住用户,监控是否同一个用户在操作。使用Session前需要在页面使用session_start()开启Session。然后使用$_SESSION来存储Session变量。
使用Cookie时,需使用set_cookie()设置Cookie,然后使用$_COOKIE取Cookie值。


【真题2】HTTP的Keep-Alive作用是什么?

答案:HTTP的Keep-Alive作用如下:Keep-Alive使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。Web服务器基本上都支持HTTP Keep-Alive。
缺点:对于提供静态内容的网站来说,这个功能通常很有用。但是,对于负担较重的网站来说,虽然为客户保留打开的连接有一定的好处,但它同样影响了性能,因为在暂停使用的期间,本来可以释放的资源仍旧被占用。所以当Web服务器和应用服务器在同一台机器上运行时,Keep-Alive功能对资源利用的影响尤其突出。
解决:Keep-Alive:timeout=5,max=100

timeout:过期时间5秒(对应httpd.conf里的参数是:KeepAliveTimeout),max是最多请求一百次,强制断掉连接。在timeout时间内又有新的连接过来时,max会自动减1,直到为0,强制断掉。

【真题3】如何快速下载一个远程HTTP服务器上的图片文件到本地?

答案:先通过fopen()函数打开要下载的图片路径,然后使用fread()函数读取图片,再在本地打开指定存储图片的目录,将读取到的图片信息写入到该目录内的文件中,即可远程下载一个图片到本地。实现代码如下:



【真题4】请简述HTTP中POST、GET、PUT、DELETE方式的区别。

答案:HTTP定义了与服务器交互的不同的方法,最基本的方法是POST、GET、PUT和DELETE,URL全称是资源描述符,可以认为一个URL地址用于描述一个网络上的资源,而对应的HTTP中的四种方法GET、POST、PUT、DELETE对应这个资源的查,改,增,删四个操作。它们的具体功能为:
(1)根据HTTP规范,GET用于信息获取,信息应该是安全的;
(2)根据HTTP规范,POST表示可以修改服务器上的资源的请求;
(3)PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器决定;
(4)DELETE的功能是删除某一个资源。


【真题5】如何理解HTTP的gzip压缩传输?

答案:HTTP下的gzip是一种流行的文件压缩算法,在Linux平台上使用十分广泛,gzip压缩传输能更加有效节约带宽流量。它先把文本压缩为.gz然后传输给浏览器,最后由浏览器负责解压缩呈现给用户,可以降低网络传输的字节数,加快网页的加载速度。


面试时如何给自己添金?没接触过支付功能?为此特意准备了一篇“新手零基础对接境外支付paypal”的文章,为你面试添金,关注公众号:“琉忆编程库”,回复:“pay”,我发给你。

【真题6】如何给动态文件(如PHP页面)做缓存?(即第二次刷新浏览器时,返回304状态)

答案:304状态的意思是当客户端向服务端请求时,服务端告诉客户端缓存的文档没有过期可以继续使用。
可以通过以下方法作浏览器缓存:
(1)当用户首次请求该文件的时候,通过HTTP HEAD的Last-Modified字段将该文件的最后修改日期发送到客户端,让客户端知道该文件的版本,例如:
Last-Modified: Tue, 08 Apr 2008 14:48:05 GMT
(2)在浏览器再次请求该文件的时候,会自动将该时间作为请求的HTTP HEAD的If-Modified-Since字段内容,例如:
 If-Modified-Since: Tue, 08 Apr 2008 14:48:05 GMT
(3)服务端根据If-Modified-Since字段的内容(如果存在该字段)来判断客户端的文件是否已经过期,如果已经过期,那么重新返回新的文件,如果没有,那么只需要返回304状态码,就可结束输出,这样代表浏览器端的文件版本是最新的,不需要返回文件内容。


【真题7】真题478、请写出HTTP和HTTPS的区别。


【真题8】IP是否可以伪造?PHP中如何拿到真实IP?

答案:IP地址是可以伪造的,客户端可以伪造IP地址或使用代理IP导致IP地址不是用户的真实IP地址。
REMOTE_ADDR代表客户端的IP地址,HTTP_X_FORWARDED_FOR是代理服务器的IP地址,存放真实的IP和各级代理IP。实现代码如下:



【真题9】在HTTP 1.0中,状态码 401 的含义是( );如果返回“找不到文件”的提示,则可用 header 函数,其语句为( )。

参考答案:客户端在授权头信息中没有有效的身份信息时访问受到密码保护的页面;header("HTTP/1.0 404 Not Found");。


【真题10】下列关于HTTP协议的说法中,错误的是( )。

A.如果本地开启了Cookie,那么每打开一个网址,HTTP请求就会把相应的Cookie传给Web服务器
B.HTTP响应的状态码为301,意思是暂时地把内容转移到一个新的URL,但是老的URL还没有废除
C.HTTP是一个基于请求与响应模式的、无状态的、应用层的协议,绝大多数的Web开发都是基于HTTP协议
D.绝大多数的Web开发离不开Cookie,如果禁用Cookie导致Session失效,那么可以通过URL来传递sessionID
参考答案:B。
分析:301表示请求的网页已被永久移动到新位置而不是暂时转移内容到新的URL。所以,选项B说法错误。


预告:下周(3.4-3.8)将更新PHP面试之MySQL数据库知识点,敬请期待。

以上内容摘自《PHP程序员面试笔试真题解析》书籍,该书已在天猫、京东、当当等电商平台销售。

更多PHP相关的面试知识、考题可以关注公众号获取:琉忆编程库

对本文有什么问题或建议都可以进行留言,我将不断完善追求极致,感谢你们的支持。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30183.html

相关文章

  • PHP面试常考网络协议

    摘要:是为互联网服务的协议族,它是网络通信协议的统称,由和等协议组成。预告本周五更新面试常考题之会话控制和网络协议,敬请期待。以上内容摘自程序员面试笔试宝典书籍,该书已在天猫京东当当等电商平台销售。 你好,是我琉忆,欢迎您来到PHP面试专栏。本周(2019.2-25至3-1)的一三五更新的文章如下: 周一:PHP面试常考之会话控制周三:PHP面试常考之网络协议周五:PHP面试常考题之会话控...

    joywek 评论0 收藏0
  • PHP面试常考会话控制

    摘要:一的会话也称为。如果启动会话成功,则函数返回,否则返回。会话启动后就可以载入该会话已经注册的会话变量以便使用。但数组创建的在会话结束后就会失效。预告本周三更新面试常考之网络协议,敬请期待。 你好,是我琉忆,欢迎您来到PHP面试专栏。本周(2019.2-25至3-1)的一三五更新的文章如下: 周一:PHP面试常考之会话控制周三:PHP面试常考之网络协议周五:PHP面试常考题之会话控制和...

    lsxiao 评论0 收藏0
  • 一个 16年毕业生所经历的 PHP 面试

    摘要:正确做法是给加索引,还有联合索引,并不能避免全表扫描。 前言:有收获的话请加颗小星星,没有收获的话可以 反对 没有帮助 举报三连 有心的同学应该会看到我这个noteBook下面的其它知识,希望对你们有些许帮助。 本文地址 时间点:2017-11 一个16年毕业生所经历的php面试 一、什么是面试 二、面试准备 1. 问:什么时候开始准备? 2. 问:怎么准备? 三、面试...

    dabai 评论0 收藏0
  • 如何"有计划,高效率,优简历"应对面试

    摘要:虽然有了十全的计划,但如何高效率去记住上面那么多东西是一个大问题,看看我是怎么做的。 前言 前一篇文章讲述了我在三月份毫无准备就去面试的后果,一开始心态真的爆炸,但是又不服气,一想到每次回来后家人朋友问我面试结果的期待脸,越觉得必须付出的行动来证明自己了。 面经传送门:一个1年工作经验的PHP程序员是如何被面试官虐的? 下面是我花费两个星期做的准备,主要分三部分: 有计划——计划好...

    gyl_coder 评论0 收藏0
  • PHP面试常考内容Memcache和Redis(1)

    摘要:以下正文的部分内容来自程序员面试笔试宝典书籍,如果转载请保留出处一什么是是一个开源免费高性能的分布式对象缓存系统,它基于一个存储键值对的来存储数据到内存中。预告面试常考内容之和将于本周三更新。 你好,是我琉忆。继上周(2019.2-11至2-15)发布的PHP面试常考内容之面向对象专题后,发布的第二个专题,感谢你的阅读。本周(2019.2-18至2-22)的文章内容点为以下几点,更新时...

    wenyiweb 评论0 收藏0

发表评论

0条评论

Dogee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<