web应用的本质

在之前学习的socket网络编程中,是基于:

  • 架构:C/S架构
  • 协议:TCP/UDP协议
  • 运行在OSI七层模型中的传输层

那么在web应用中,是基于:

  • 架构:B/S架构
  • 协议:Http协议
  • 应用层

数据在传输过程中需要以二进制形式进行传输,之前我在进行转换的时候是以:send(msg.encode('utf8'))的形式传输的,但是这样不直观。为了更直观,应该使用bytes('msg',encoding='utf8')和str(msg,encoding='utf8')

那么所有的web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。

web通信的原理:

  1. 浏览器发送一个HTTP请求;
  2. 服务器收到请求,生成一个HTML文档;
  3. 服务器把HTML文档作为HTTP相应的body发送给浏览器
  4. 浏览器收到HTTP相应,从HTTP Body中取出HTML文档并显示

最新文章

  1. ASP.NET MVC 视图(一)
  2. 【BZOJ】4245: [ONTAK2015]OR-XOR
  3. 相关子查询【SQL Server】
  4. python的一些图像操作
  5. X3DOM 1.6.1 发布注记
  6. Grand Central Dispatch (GCD)
  7. ABBYY是怎么自定义主窗口的
  8. 李洪强iOS开之【零基础学习iOS开发】【02-C语言】04-常量、变量
  9. linux搜索jar内容
  10. jquery的click事件对象试解
  11. 【Android Demo】通过WebService获取今日天气情况--转
  12. ImportError: No module named 'request'
  13. [Shiro] tutorial 1 :SecurityManager and Subject
  14. hello2 源码分析
  15. Docker配置参考
  16. 解题:NOI 2018 归程
  17. 利用Windows7自带的截图工具获取菜单截图的步骤
  18. linux 内核升级 转
  19. 【LeetCode】208. Implement Trie (Prefix Tree)
  20. js中作用域和闭包

热门文章

  1. stl+数论——1247D
  2. centos 下安装 shpinx2.1.7 记录
  3. ionic学习使用笔记(一) 版本更新及创建项目时遇到的问题解决
  4. php开发面试题---php高级程序员需要掌握的一些知识
  5. readUTF()和writeUTF()
  6. 为什么 Go 语言把类型放在后面
  7. 在Windows的控制台和Linux的终端中显示加载进度
  8. 数据整理A
  9. 计算机基础、python历史,环境,分类,安装
  10. vue与webpack