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框架的实现过程。

  

  

后续待补充......

最新文章

  1. Archlinux 2015.07.01 和 Windows7 双系统 安装教程
  2. fragment的切换(解决REPLACE的低效)
  3. mysql-模拟全连接处理
  4. 单例模式/singleton模式/创建型模式
  5. noip赛前小结4
  6. hdoj-2031
  7. ASP.NET中Button控件的CommandName和CommandArgument属性用法
  8. hdu 3743 树状数组
  9. Hibernate(一)JDBC简介
  10. 如何使用沉浸式状态栏,让你的app风格更好看
  11. Delphi中的内存对齐 与 Packed关键字
  12. c 按输入的字母来输出对应效果
  13. angular cors跨域资源共享设置 和formdata设定
  14. [Q]“获取AutoCAD安装信息时失败...”解决方法
  15. 快速部署MongoDB
  16. Nuxt框架实践
  17. POJ 1584 A Round Peg in a Ground Hole[判断凸包 点在多边形内]
  18. C#来操作Word
  19. 深度学习(九) 深度学习最全优化方法总结比较(SGD,Momentum,Nesterov Momentum,Adagrad,Adadelta,RMSprop,Adam)
  20. TensorFlow的图切割模块——Graph Partitioner

热门文章

  1. UVM中的driver组件
  2. 2016NOI冬令营day2
  3. 优化 MySQL: 3 个简单的小调整
  4. Redis计算地理位置距离-GeoHash
  5. 20145327《网络对抗》——注入shellcode并执行和Return-to-libc攻击深入
  6. DTMF在VOIP中的解决方案
  7. Razor语法快速参考
  8. Linxu内核版本号后面多出字符串或者+号【学习笔记】
  9. 嵌入式系统 Boot Loader 技术内幕【转】
  10. ubuntu下git clone 提速