学会编程更要学会找错误

一直想写点我在编程学习中遇到的问题以及我是如何解决的,我是一个PHPer,而且对计算机有着深厚的兴趣。今天闲着没事,就顺手整理一点,随后会相继会做更多总结,敬请您的关注……

如果你是老鸟,我想你看到这个应该可以勾起你当时从我这样的菜鸟一步一步走过来的回忆吧!

由于语言表述能力有限,各位看官如果不理解或者您有更好的建议和学习心得可以E-mail我(731883571@qq.com)。废话到此###下面切入正题

1、服务器运行原理

当时我怎么也不这客户端和服务器到底是个怎么个关系~

我贴个图这样说着比较放便(自己用diagram designer画的,多多体谅)

客户端需要一个带有浏览器(browser)的操作系统,当你在地址栏输入http://www.0377joyous.com/list.php?cid=23&page=2类似这样的请求的时候,这样web服务器(这里可以查询DNS、域名、web服务器等相关知识)首先是经过apache(或者iis等软件)根据语言找对应的解释包(这个时候就用到了php包),比如list.php页面可能是

<?php

$conn=mysql_connect(“localhost”,”root”,””);

……

$cid=$_GET[‘cid’];

If($_GET[‘page’]){$page=$_GET[‘page’];}

……

?>

这样一些代码

首先apache会把<?php和?>包含的代码识别出来(当然如果你额外配置了php.ini短标签也会识别<?和?>,有很大一部分网友问过我为何代码在他的环境下不能解析就是这个短标签没有开启),这样就需要php.ini的帮助了。php.ini里面说了php的扩展包以及翻译(可以这么理解吧,比如你说people,可以翻译成“人,人们”)php的函数如何执行,这样当解释到mysql_connect()就需要数据库mysql出场了,这样连接到mysql数据库去执行sql语句进行CRUD(创建,读取,更新,删除),最终都会返回给apache一个纯文本文件。简单说:apache的作用就是把<?php和?>这样的标签替换成html标签,然后返回给发出请求的客户端浏览器(浏览器的作用就是把这些html标签的文本正常显示出来,当然它也需要一个过程。比如遇到<h1></h1>会进行一些操作和解析)

说的有点罗嗦,你可能还没有理解,那么就去百度或者google一下吧(网上有这样一句调侃的话:外事问谷歌,内事问百度,房事问天涯)

2、从post和get入手

我们访问web网页,当我们看完了一页,我想看下一页当然需要点击一个超链接发出请求,这样我们就需要交互了。交互就是告诉web服务器客户端需要什么。这个时候就需要发送指令了。自然post和get就是可以理解为发送指令的方法而已。可能你还不理解。这样分你就清楚了:可以在地址栏看到这样的a=23&b=78或者?wd=web%D4%CB%D0%D0%D4%AD%C0%ED这样形式的都是get方法的传送的数据(在接收页面就可以用$_GET获取发送的数据),剩下你表面看不到的都是post的方法,可以在接受页面用$_POST获取。还是那句话,不懂多问,多查资料

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python专栏

Python | 使用进程池统计指定范围内素数的个数

(1)了解使用Python标准库multiprocessing编写多进程程序的方法。

27620
来自专栏我是攻城师

简述ElasticSearch里面复杂关系数据的存储方式

83870
来自专栏java一日一条

java高并发锁的3种实现

提到锁,大家可能都会想到synchronized关键字,使用它的确可以解决一切并发问题,但是对于系统吞吐要求更高的,在这里提供了几个小技巧,帮助大家减小锁粒度,...

1.3K30
来自专栏逸鹏说道

c# 温故而知新: 线程篇(一) 上

Thread 目录: 目录: 1 线程基础的简单介绍 2 线程同步与线程异步的简单介绍 3 前台线程与后台线程的简单介绍 4 细说下Thread 最为关键的构造...

28180
来自专栏Crossin的编程教室

这些年,你们一起踩过的坑(1)

编程教室创建5年多了,回答的问题不说上万也有好几千了。尽管大多数的问题在过去的文章以及论坛上都有讲过不止一遍,但因为不断有新人到来,难免还是被这些小坑磕磕绊绊一...

13350
来自专栏黑泽君的专栏

JavaScript的介绍

 javascript是什么?     javascript 是因特网上最流行的脚本语言,它存在于全世界所有 Web 浏览器中,能够增强用户与 Web 站...

9520
来自专栏FreeBuf

某租车系统JAVA代码审计

前言 由于开源的JAVA WEB项目不是很多,这里找到一个没有用struct2或是spring框架的cms,希望借此cms来帮助新手敲开JAVA代码审计的大门,...

51780
来自专栏LEo的网络日志

coding感想(二)

35990
来自专栏企鹅号快讯

Upspin 中的错误处理

Upspin 项目使用自定义的包 —— upspin.io/errors —— 来表示系统内部出现的错误条件。这些错误满足标准的 Go error 接口,但是使...

250100
来自专栏MageekChiu

为什么要指令重排序?

我们知道java在运行的时候有两个地方可能用到重排序,一个是编译器编译的的时候,一个是处理器运行的时候。

36150

扫码关注云+社区

领取腾讯云代金券