百度为什么使用php(为什么要用百度)

本文目录一览:

JSP适合做大型网站,为什么百度主页还是PHP写

首先我们来看看百度首页是不是真的用的是php,index.php无疑是可以打开的,但是我们也知道,可以通过对HTTP服务软件层面进行路由设置,使得这个地址实际解析到其他内容,比如静态文件或者是其他CGI处理的资源,比如伪静态的实现是将html路由到其他动态资源,比如php(考虑到缓存,也有可能是静态资源),所以单凭这个无法确定是否是php。

于是用chrome打开百度,;

t;

我们需要看的信息是红色框框出来的内容,首先我们看到Sever的值被设置成了bfe/1.0.8.14,http头中的server字段一般是http服务器的名称,比如知乎:

Qnginx,猜测可能是魔改Nginx吧。百度的bfe,要么是自家产品,要么有可能也是改动了nginx之类的源代码,这个参见百度首页用的什么服务器?

那么我们再看看setcookie里面,设置的cookie内容。我们知道,一般php自身设置的cookie会有类似下面这样的字段:

t;然而我们看看百度的:

t;有很多以百度命名的Token字段,没有采用php自带的cookie,也看起来不像很多语言/框架自带的cookie,后文会讲。

我们再看看在百度首页的请求中有一个字段:

HPHP,这是HHVM,如果不是百度使用代理或者在HTTP服务器层面上修改头或者修改HHVM(百度应该也不会这么闲的蛋疼去改一个不是机密的东西),那么应该就是用PHP了。那么我们解释一下为什么不用默认的(默认的cookie会出现PHPSESSID的字段)session_start()

有可能是为了分布式服务或者性能的需求,因为Session的控制大多是用文件控制,这样的话,session储存在请求的服务器上面,但是如果是分布式的,就会产生不同步问题:比如一台PHP服务器上有你的session,但是你下次请求因为负载均衡而到了另一台服务器,这台服务器上没有你的session,那你就得重新登录了。所以百度可能使用了自己的session方法,比如使用这些字段,实际session内容储存在数据库或是其他地方。

确定百度首页用的是PHP,我来回答题主的问题。

关于即时搜索,搜索引擎一般是先爬取网络上内容,然后进行排名,最后放到倒排索引中(最简单版本就是搜索关键字对应搜到的id),对搜索性能影响较大的地方在于倒排索引数据库的吞吐量和响应速度,比如我使用Spark/Hadoop之类来储存倒排索引,这个倒排索引数据库是分布式的。Spark虽然不是Java写的,但是和java一样运行在JVM上面,JVM的确很成熟。

关于你说的输入加载等等功能,使用Java使用PHP其实都无关紧要,因为真正慢的部分在数据库响应。举个形象的例子:Java和PHP用10ns,网络传输用20ms,数据库取出数据用350ms,你觉得有必要在乎前端的Java或者PHP吗?(PS:HHVM速度也很快,PHP也有负载均衡手段)

最后:纸上得来终觉浅,得知此事要躬行。尤其是做技术,技术文章太乱了,各种说法都有,有些说法不经过严格测试,有的说的是十几年前过时的东西。

为什么百度主页还是PHP写的

用PHP开发网站确实比较好。因为PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页速度比CGI、Perl和ASP更快,而且内嵌Zend加速引擎,性能稳定快速,占用系统资源少,代码执行速度快。PHP消耗相当少的系统资源。

百度为什么使用PHP

由于硬件成本和以后的数据分析,核心数据上通常不会交给脚本处理。

而对于频繁变动的展示层,JAVA web在扩展维护上成本非常高,PHP都下班了JAVA还在改,上线了还得派一群运维看着灰度。

此外在大型项目中,还要加入cache层和处理机优化,这已经不是程序猿经理总监能协调了,什么语言问题都扔一边去。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/156578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-18 01:56
下一篇 2024-11-18 01:56

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • PHP数组去重详解

    一、array_unique函数 array_unique是php中常用的数组去重函数,它基于值来判断元素是否重复,具体使用方法如下: $array = array(‘a’, ‘b…

    编程 2025-04-24
  • PHP导出Excel文件

    一、PHP导出Excel文件列宽调整 当我们使用PHP导出Excel文件时,有时需要调整单元格的列宽。可以使用PHPExcel类库中的setWidth方法来设置单元格的列宽。下面是…

    编程 2025-04-24
  • php扩展库初探

    一、什么是php扩展库? PHP扩展库(PHP extension)是一些用C语言编写的动态链接库,用于扩展PHP的功能。PHP扩展库使得PHP可以与各种数据库系统相连、SMTP、…

    编程 2025-04-23

发表回复

登录后才能评论