socket+django
1.socket
网络上任意两个程序之间要进行通信,需要依靠socket(端口)。socket封装了TCP/IP协议,让网络通信基于TCP/IP协议的形式实现。
socket可以翻译为插座,那么一个服务器就拥有很多个“插座”,不同的“插座”可以实现不同的服务(应用程序)。在一台计算机上面,每个独立的应用程序
(比如qq,微信,浏览器等)都占用着一个端口,不管是发出请求还是接收数据,都可以查看到IP和端口号。
2 socket编程的局限
基于socket的网络编程,可以让我们实现在多个不同客户端服务端之间的通信,传输数据(请求request和响应response)
但是网络上传输的数据千奇百怪,场景也非常多,因此很多时候需要对请求和响应的数据进行解析(比如通过对request进行解析,可以在请求头找到传输的协议,
url等信息),这一部分非常麻烦并且具有高度重复性。这时候,才需要各种各样的web框架来辅助实现。
3 web框架(django)
由于近来在学django,就只说这个了。
django内部并没有socket,而是需要从socket那获取请求数据进行解析,然后再产出响应的数据字符串给到socket,socket再发回给客户端。
django中,通过wsgi实现框架与Web服务器之间的连接。
通过下图,更加形象地理解django框架的实现过程。
后续待补充......