2019-07-05 单进程单线程多任务非阻塞,长短连接,前端与后台交互的数据格式,前端与后台的交互原理,前端请求参数的形式

单进程单线程多任务非阻塞

tcp_server_socket.setblocking(False)    设置套接字为非阻塞的方式

retv_data   对方发送过来数据

Type:套接字类型,可以是SOCK_STREAM(流式套接字,主要用于TCP协议)或者SOCK_DGRAM(数据报套接字,主要用于UDP协议)

tcp_server_socket.setsocket(socket.SOL_SOCKET,socket.SO_REQUEADDR,1) 这个语句可以让服务器的端口重复利用,避免出现服务器先发出关闭请求后 短时在连接服务器出现的端口被占用的错误服务器中一切的外链资源:CSS js 图片,视频等都会重新发起请求;最后1的作用是结束后立即释放端口。

长短连接

 HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。

长连接并不是永久连接的。如果一段时间内(具体的时间长短,是可以在header当中进行设置的,也就是所谓的超时时间),这个连接没有HTTP请求发出的话,那么这个长连接就会被断掉。长连接的话,那么这么多次HTTP请求(这些请求包括请求网页内容,CSS文件,JS文件,图片等等),其实使用的都是一个TCP连接,很显然是可以节省很多消耗的。长连接情况下,多个HTTP请求可以复用同一个TCP连接,这就节省了很多TCP连接建立和断开的消耗。

短连接比如你请求一个网页,这个网页里肯定还包含了CSS、JS等等一系列资源,如果你是短连接(也就是每次都要重新建立TCP连接)的话,那你每打开一个网页,基本要建立几个甚至几十个TCP连接,这太浪费资源。

前端与后台交互的数据格式

主要是JSON,XML现在用的不多

JSON 通常用于与服务端交换数据。

在接收服务器数据时一般是字符串。

我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。

前端与后台的交互原理

关注点:接口地址、前端请求的参数、后端返回的参数。

调一下接口,看一下返回的数据。

前端请求参数的形式

GET和POST两种方式

GET从指定的服务器中获取数据,POST提交数据给指定的服务器处理

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 6,440评论 0 6
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,871评论 1 32
  • 转。。。。。。。。 SOCKET,TCP/UDP,HTTP,FTP (一)TCP/UDP,SOCKET,HTTP,...
    zeqinjie阅读 8,563评论 1 53
  • 文章首发于个人blog欢迎指正补充,可联系lionsom_lin@qq.com原文地址:《网络是怎样连接的》阅读整...
    Lucus_Linx阅读 14,824评论 6 31
  • 还有37天就要过年咯!过完年,你就要三十了,想想都有点担忧,时间怎么快呢?而我还没有找到对象,似乎都有点不敢回家过...
    毛豆豆哟阅读 1,571评论 5 2

友情链接更多精彩内容