• [Python] 网络


    1、应用概念

    • 应用层(Application Layer):将原始信息进行规范化描述,进而通过标准化接口与传输层对接
    • 传输层(Transport Layer):实现信息的切分和重组,以及应用程序间的对接
    • 网络层(Network Layer):为信息添加指向目的地的IP地址
    • 数据链路层(Data Link Layer):为信息添加额外的头尾部以保证传输过程中的正确性
    • 物理层(Physical Layer):实现信息在物理介质(电缆、无线)上的传播
    • WWW(World Wide Web):一个大规模、联机式的信息存储场所,简称Web
    • HTTP(HyperText Transfer Protocol):超文本传输协议。作用于应用层,是客户端浏览器或其他程序与Web服务器之间的通信协议。规定了客户端和服务器端请求和应答的标准,以及发布和接收HTML页面的方法
    • DNS(Domain Name System):域名系统。域名和IP地址相互映射的分布式数据库
    • TCP(Transmission Control Protocol):传输控制协议。作用于传输层,通过三次握手建立连接
    • IP(Internet Protocol):因特网互联协议。作用于网络层,IP地址的组成:网络地址(区号)+主机地址(电话号)
    • URL (Uniform Resource Locator):统一资源定位。浏览器地址栏中输入的网站地址
    • HTML(HyperText Markup Language):超文本标记语言。可通过浏览器读取并显示成网页
    • XML(Extentsible Markup Language):可扩展标记语言。HTML旨在显示信息,XML旨在传输信息。通常用来编写系统的配置文件
    • CSS(Cascading Style Sheets):层叠样式表。提供更加丰富的HTML文件样式
    • JavaScript:一种脚本语言,为网页增加用户交互操作
    • PHP:一种脚本语言,通常在服务器端运行,可对接数据库
    • json(JavaScript Object Notation):JavaScript对象符号。方便在.html文件中进行大量数据的传输
    • socket(套接字):
    • cookie:指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。当 Web 服务器创建了cookie 后,只要在其有效期内,当用户访问同一个 Web 服务器时,浏览器首先要检查本地的cookie,并将其原样发送给 Web 服务器
    • session:网络应用中的会话控制。session 对象存储特定用户会话所需的属性及配置信息

    2、理论概念

    • 分布式系统(distributed system):
    • 代理服务器
    • 中间人攻击
    • InnoDB MyISAM
    • 全局锁(Global Interpretor Lock / GIL):
    • 消息队列:
    • 进程通信:
    • 网络通信框架:同步or异步、阻塞or非阻塞。老张和水壶的例子。

    2、基本流程

    • 网页访问:在浏览器中输入域名——DNS服务器将域名转换为IP地址——向网页服务器发起访问请求——网页服务器返回.html文件——接收后通过浏览器编译成网页

    2、Python库

    • http:Python自带库,包括了编写http客户端和服务器的模块以及对状态管理的支持(cookie)
    • urllib:Python自带库,用于编写与http服务器交互的客户端
    • BeautifulSoup:第三方库,用于从HTML或XML文件中提取数据
    • selenium:第三方库,一个强大的网络数据采集工具,最初用于网站自动化测试
    • Scrapy:一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。使用异步网络库Twisted来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求(限制:不支持分布式部署及JavaScript页面的抓取)

    2、相关工具

    • virtualenv:Python部署工具,用于为不同应用创造独立的Python环境
    • SQLAlchemy:基于ORM框架,实现Python语句对SQL功能的直接调用
    • Danjo:Web框架,特点:大而全
    • Tornado:Web框架,特点:速度快
    • Flask:Web框架,特点:轻量
    • Web:Web框架,特点:超轻量
    • Scrapy:一款轻量的爬虫框架
    • Tkinter:GUI工具包
    • Bootstrap:前端框架
    • Postman:
    • JsonEditorOnline:
    • PhantomJS:一个“无头”(headless)浏览器。用于把网站加载到内存并执行页面上的JavaScript,但不会向用户展示网页的图形界面
    • SAE(Sina App Engine):新浪云计算平台
  • 相关阅读:
    世界各个地区WIFI 2.4G及5G信道划分表(附无线通信频率分配表)
    树莓派-基于raspivid实现拍视频
    在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX
    树莓派4装热点板不启动咋板?
    portapack h1 买回来刷hackrf与使用说明
    portapack发射GPS的信号实现GPS脱机模拟器
    DMR windows 软件x64
    浅谈iOS多线程
    iOS Sonar 集成流程
    不要相信程序员在加班时间写的代码
  • 原文地址:https://www.cnblogs.com/cxc1357/p/9048141.html
Copyright © 2020-2023  润新知