笨办法学习python-ex51自我理解笔记
本章节主要讲的是web的工作原理,先大概熟悉记录一下,为以后写Django web框架打下基础。
web工作原理:
1.用户从浏览器输入网址----->browser通过电脑中的网络设备(网卡)发出request请求(线路A)
2.网卡将request----->互联网(线路B)
3.互联网----->远端服务器(线路C)
4.远端服务器----->web应用程序接收request,python代码运行index.GET这个处理程序(handler)(线路D)
5.代码return,python服务器发出响应(response)----->服务器(线路D)
6.服务器----->互联网(线路C)
7.互联网----->网卡(线路B)
8.网卡----->浏览器(browser)响应(response)这个内容(线路A)
以上是一个web的大概工作原理,是一个闭环的操作。
术语:
例子----->http://test.com//book/
浏览器(browser):我们每天都会用到的软件,作用是接收用户输入网址,使用该信息向该网址的服务器发送请求(request)
地址(address):类似http://test.com/一样的URL其中http是协议(protocol)
网址:URL(Uniform Resource Locator,统一资源管理器)
协议(protocol):http(Hyper-Text Transport Protocol)----->超文本传输协议,ftp(File Transport Protocol)----->文件传输协议
主机名(hostname):例子中的test,com就是主机名,一个便于人理解和记忆的字符串,会被匹配到一个叫做IP地址的数字上面
IP地址:IP地址相当于网络上的一台计算机的电话号码,通过它就可以访问到这台计算机了
路径:/book/,URL尾部的路径,它对应服务器上某个文件或者某些路径,通过访问这样的网址,可以向服务器发出请求,获取这些资源。
连接(connection):一旦浏览器知道了协议(http),服务器(http://test.com/)、以及要获得的资源(\book\),它就要创建连接
连接如何实现的:
1.个人计算机和服务器之间实现的连接
浏览器(browser)让操作系统(OS)打开计算机的一个端口(port)(通常是80端口)
----->端口准备好后,操作系统(OS)回传给你的程序一个类似文件的东西,所做的事情是通过网络传输和接收数据,让你自己的计算机和http://test.com//book/这个网站所属的服务器实现数据交流
2.个人计算机访问自己的站点的连接
浏览器(browser)让操作系统(OS)打开个人自己算的一个端口(port)(8080)
----->端口准备好后,操作系统(OS)回传给你的程序一个类似文件的东西你给,所做的事情是通过网络传输和接收数据,让自己的计算机(localhost)和http://locathost:8080/(自己的站点)实现数据交流
注:HTTP协议默认的端口是80
请求(request):浏览器为了获得服务器上的资源,它需要向服务器发送一个请求(request)。例如URL尾部加上的/book/就是浏览器想要的资源或者文件。资源并不一定是文件,当浏览器向你的web应用程序提出请求时,服务器返回的其实是python代码生成的一些东西。
服务器(sever):服务器是指浏览器另一端对应的计算机,它知道如何回应浏览器请求的资源和文件,大部分服务器只需要发送文件即可。
响应(response):服务器回复你的请求,发回到浏览器的HTML,里面包括CSS、javascript、或者图像等内容。这些内容包含在一个特别定义的头部信息(header)中,这样浏览器就知道它获取的是什么类型的内容
笨办法学习python-ex51自我理解笔记的更多相关文章
- 笨办法学习python之hashmap
#!/user/bin/env python #-*-coding:utf-8 -*- #Author: qinjiaxi #初始化aMap列表,把列表num_buckets添加到aMap中,num_ ...
- “笨方法”学习Python笔记(1)-Windows下的准备
Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境
Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...
- 深度学习-Wasserstein GAN论文理解笔记
GAN存在问题 训练困难,G和D多次尝试没有稳定性,Loss无法知道能否优化,生成样本单一,改进方案靠暴力尝试 WGAN GAN的Loss函数选择不合适,使模型容易面临梯度消失,梯度不稳定,优化目标不 ...
- LPTHW 笨方法学习python 16章
根据16章的内容作了一些扩展. 比如,判断文件如果存在,就在文件后追加,如不存在则创建. 同时借鉴了shell命令中类似 cat <<EOF > test的方法,提示用户输入一个结尾 ...
- [笨方法学python]习题51自动化测试笔记
习题51 本节自动化测试部分看不大懂,自己每步都打印出来,帮助理解.(代码标红部分为自己加入调试为打印变量值所用) tests/tools.py from nose.tools import * im ...
- 深度学习-DCGAN论文的理解笔记
训练方法DCGAN 的训练方法跟GAN 是一样的,分为以下三步: (1)for k steps:训练D 让式子[logD(x) + log(1 - D(G(z)) (G keeps still)]的值 ...
随机推荐
- 21.SpringCloud实战项目-后台题目类型功能(网关、跨域、路由问题一文搞定)
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...
- 5. 配置项:rule_files
prometheus配置文件内容: global: # 默认情况下抓取目标的频率. [ scrape_interval: <duration> | default = 1m ] # 抓取超 ...
- zabbix 微信告警机制
微信告警首先得注册一个企业微信,然后才能实现微信告警.自行百度 微信: 添加一个用户到上面创建的部门里面 创建完成记住 AgentID 和 Secret 下一步:记住企业 ID 1)编辑zabbix ...
- opencv-7-鼠标绘制自定义图形
opencv-7-鼠标绘制自定义图形 opencvc++qt 开始之前 昨天写了具体的基本的图形绘制, 然后我们使用相应的函数接口进行调用, 便能够在图像上绘制出来相应的图形, 我们以图像绘制为例, ...
- Linux改中文乱码显示
Linux改中文乱码显示 可以使用locale命令,查看当前系统默认采用的字符集# locale在RedHat/CentOS系统下,记录系统默认使用语言的文件是/etc/ ...
- JAVA学习之路 (五) 类
java类的学习 先上一个代码 package bankCard; import java.util.Scanner; // 银行卡类 public class bankCard { // 静态变量 ...
- (附音视频、PPT地址)《打开Python这扇窗》分享总结
0.导读 2016年最新开发语言排行榜中,Python已经跃居第三,仅次于C.JAVA.掌握Python已经成为时下运维圈的共识,更让人期待的是,本次公开课分享的嘉宾自身就长期专注Python.Doc ...
- (PSO-BP)结合粒子群的神经网络算法以及matlab实现
原理: PSO(粒子群群算法):可以在全局范围内进行大致搜索,得到一个初始解,以便BP接力 BP(神经网络):梯度搜素,细化能力强,可以进行更仔细的搜索.数据: ...
- centos监控web目录www下的文件是否被黑、挂马的脚本
.检查是否有安装inotify rpm -qa inotify-tools 2.没有先安装epol源 wget -O /etc/yum.repos.d/epel.repo http://mirrors ...
- 数学--数论-- HDU6298 Maximum Multiple 打表找规律
Given an integer nn, Chiaki would like to find three positive integers xx, yy and zzsuch that: n=x+y ...