zoukankan      html  css  js  c++  java
  • [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):新浪云计算平台
  • 相关阅读:
    最大子数组求和并进行条件组合覆盖测试
    Ubuntu 16.04 c++ Google框架单元测试
    The directory '/home/stone/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If execu
    Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'
    个人博客作业三:微软小娜APP的案例分析
    补交 作业一
    补交 作业二:个人博客作业内容:需求分析
    嵌入式软件设计第12次实验报告
    嵌入式软件设计第11次实验报告
    嵌入式软件设计第10次实验报告
  • 原文地址:https://www.cnblogs.com/cxc1357/p/9048141.html
Copyright © 2011-2022 走看看