数据库、套接字、Web编程、web服务器

本文是学习Linux平台Python web编程的一些理解性总结,串联一下知识,作为学习闭环的输出,也方便以后复习。

仅作为自己学习的总结与记录,且为初学,作为阶段性理解,难免有很多错误,以后再更正。


  之前是在Java课上学过网络编程的,不过当时完全没有理解,什么套接字,什么握手,只记得实验做过一个客户端与服务器两个程序的互动。然后当时也学过数据库,自己理解数据库就是放在服务器上,然后服务器与数据库的区别很模糊。

  其实服务器只是起服务作用的一端(服务端)


作为数据库的平台的服务器只是其中一种,除此之外还有web服务器,(web服务器应该也提供数据库操作服务),应该还有其他很多种服务器我暂时没有了解到,反正它只是为客户端提供某种服务,这样做的优势是可以实现数据共享(我想的,应该还有其他优势,后期补充)

而数据库技术只是对数据管理的一种技术


比起之前的文件管理等方式更加高效与灵活。数据库可以搭建在自己的电脑上为自己管理数据提供方便,而搭建在一台作为服务端的计算机上,从而实现与客户端的数据共享,这台计算机就是一台数据库服务器。

套接字编程


图片发自App


没有很理解,特别是与后面的Apache web服务器有什么交集?

应该是Apache利用了套接字网络编程的技术,后面弄懂了再补充。

对这个东西暂时的理解就是它可以实现客户端与服务器的交互,可以传输字节 流(流?)。

字节信息再通过程序分析就知道内容了。

知道服务器(服务器会实现套接字与主机地址和端口的绑定)的host和port,客户端就可以连接了(不要密码怎么安全?)。

客户机服务器在同一台电脑上用localhost

所以套接字是什么?

此处留给自己理解后回答。


LAMP服务器环境


PHP是一种流行的web编程语言?

LAMP(Linux+Apache+MySQL+PHP)是一种追受欢迎的服务器环境。

电脑客户端、手机app对接服务器也是用这套环境吗?

LAMP环境搭建在Linux上,在Linux上安装MySQL提供数据库服务,再安装Apache web服务器,安装后自动启动,此时可以通过IP做为URL在浏览器上连接这个基于Linux 的Apache web服务器了,浏览器会显示提示成功的测试网页。

下一步就是提供HTML文件了,这是web服务器的核心功能,我学习的是基于树莓派,默认情况下需要把web文档(HTML)放在/var/www下(其他系统也应该是一个固定的文件目录)。放好后,访问http://host/xxx.html,浏览器就可以通过这个HTML渲染出页面了。

CGI公共网关接口

CGI是Apache web服务器的一个特性,他允许远程客户端在托管服务器上运行shell脚本,但是要放在特定文件目录中(这个目录要做权限设置,因为里面可能包含数据库密码等保密内容)。可以把Python脚本放在里面做为逻辑程序,前面必须告诉shell这是Python脚本:#!/usr/bin/python3。

有了CGI就可以用网页运行Python脚本,Python脚本可以访问服务器本机的MySQL数据库,从而实现客户端与数据库的数据共享,Python脚本还可以实现网页的逻辑运算。

至于PHP怎么实现的自己没有了解,日后了解再补充。


在上写知识总结作为学习闭环的输出环节是个不错的选择,还可以以用来作为复习的材料。加油!

你可能感兴趣的:(数据库、套接字、Web编程、web服务器)