Django Socket编程

Django Socket编程,Socket也叫“套接字”,是计算机网络通信中最基础的内容,它通过对TCP/IP协议的封装提供了在不同主机之间进行通信的功能。当我们访问一个网站时,浏览器会为我们打开一个套接字,通过套接字建立与服务器之间的链接,链接建立成功后服务器提供对访问的响应并返回访问内容,浏览器接收响应并显示出来。

我们接触到的所有Web应用几乎都是通过Socket实现的,一个网站本质上就是一个Socket服务端和客户端之间的通信,Web服务器就是服务端而用户浏览器就是客户端。用户访问网站的过程就是服务端与客户端Socket通信的过程,如图所示。
Django Socket编程

下面程序代码是一个简单的socket web服务器,当程序执行起来之后通过浏览器访问http://localhost:8000/,就会打开一个Hello, World!的页面:
Django Socket编程

浏览器访问效果如图所示。
Django Socket编程

这就是所有网站的实现原理:接收HTTP请求、解析HTTP请求,发送HTTP响应。如果这些工作都由网站开发人员来做的话,那么开发人员不仅需要熟悉自身产品相关的技术,还需要学习HTTP协议、TCP/IP协议等,这会带来很多额外的工作量。幸运的是,这些工作已经有人帮我们完成了,在Python中这个工作就是由WSGI接口实现的,Django基于WSGI接口。

当访问同一个网站时,如果输入的URL地址不同,网页显示内容也不相同,这就是一般Web框架所实现的,下面开发一个可以根据用户输入地址的不同而显示不同页面信息的Web框架。这个框架可以接收两个地址:index和detail,对于输入其他地址则返回404错误,具体代码如下:
Django Socket编程

执行脚本,然后分别访问index、detail和home页面,如图所示。
Django Socket编程

Django Socket编程

Django Socket编程

虽然这个Web框架看起来非常简单,但是事实上很多开发框架都是这样在WSGI基础上开发来的,只是不同的框架提供了不同的功能而已。感兴趣的同学可以尝试自己开发一套Web框架。

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!