笨办法学习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)]的值 ...
随机推荐
- Python模块---制作新冠疫情世界地图()
目录 pyecharts模块 简介 安装pyecharts 测试pyecharts模块 pyecharts实战:绘制新冠肺炎疫情地图 需求分析 请求数据 提取数据 处理数据 制作可视化地图 设置可视化 ...
- 今天,VS Code 五岁了。
时光飞逝,岁月如梭.今天,VS Code 迎来了 5 岁的生日. 回想起 VS Code 发布的那一天,仿佛还在昨天. 回顾 VS Code 这五年的发展,总是能给我们开发者带了无限的惊喜. 2015 ...
- Jmeter:运行报:Error occurred starting thread group :线程组, error message:Invalid duration 0 set in Thread Group:线程组, see log file for more details
最近在用jmeter做压测,上周五压测的脚本,今天早晨结束后. 点击同样的脚本,运行就报Error occurred starting thread group :线程组, error message ...
- PHP如何实现判断提交的是什么方式
function get_request_method() { // $_SERVER包含了诸多头信息.路径.以及脚本位置等等信息的数组,这个数组中的项目有web服务器创建. if (isset($_ ...
- php://input和parse_str()使用
php://input可以读取没有处理过的POST数据,总结起来就是, 在用$_POST获取不到由APP或者一些接口的回调数据时,就用php://input试试 实例 index.php <fo ...
- Metasploit渗透测试环境搭建
渗透测试实验环境搭建 下载虚拟机镜像 5个虚拟机镜像,其中Linux攻击机我选择用最新的kali Linux镜像,其余的均使用本书配套的镜像. 网络环境配置 VMware虚拟网络编辑器配置: 将VMn ...
- C/C++ 程序执行时间
C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下: clock_t clock( void ); 这个函数返回从“开启这个程序进 ...
- 【手把手教你】win10 虚拟机 VMware Workstation Pro 15下安装redhat 8.0
安装redhat8.0 和安装Ubuntu 差别不大 可以参考上篇文章:https://www.cnblogs.com/zero-vic/p/11593683.html 但是redhat 8.1 b ...
- java 之 javaBean
什么是JavaBean? JavaBean是特殊的Java类,使用J ava语言书写,并且遵守JavaBean API规范. JavaBean与其它Java类相比而言独一无二的特征: 提供一个默认的无 ...
- Java泛型和编译优化的一个例子
public class Main { public static void main(String[] args) { ArrayList<String> strList = new A ...