本章节主要讲的是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自我理解笔记的更多相关文章

  1. 笨办法学习python之hashmap

    #!/user/bin/env python #-*-coding:utf-8 -*- #Author: qinjiaxi #初始化aMap列表,把列表num_buckets添加到aMap中,num_ ...

  2. “笨方法”学习Python笔记(1)-Windows下的准备

    Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...

  3. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  4. 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...

  5. “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境

    Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...

  6. 深度学习-Wasserstein GAN论文理解笔记

    GAN存在问题 训练困难,G和D多次尝试没有稳定性,Loss无法知道能否优化,生成样本单一,改进方案靠暴力尝试 WGAN GAN的Loss函数选择不合适,使模型容易面临梯度消失,梯度不稳定,优化目标不 ...

  7. LPTHW 笨方法学习python 16章

    根据16章的内容作了一些扩展. 比如,判断文件如果存在,就在文件后追加,如不存在则创建. 同时借鉴了shell命令中类似 cat <<EOF > test的方法,提示用户输入一个结尾 ...

  8. [笨方法学python]习题51自动化测试笔记

    习题51 本节自动化测试部分看不大懂,自己每步都打印出来,帮助理解.(代码标红部分为自己加入调试为打印变量值所用) tests/tools.py from nose.tools import * im ...

  9. 深度学习-DCGAN论文的理解笔记

    训练方法DCGAN 的训练方法跟GAN 是一样的,分为以下三步: (1)for k steps:训练D 让式子[logD(x) + log(1 - D(G(z)) (G keeps still)]的值 ...

随机推荐

  1. Caused by: java.io.IOException: Type mismath in vlaue from map: excepted org.apache.hadoop.io.InaWritable,received SC

    解决办法: 看map和reduce的输入是不是对应,看看map和reduce设置的参数和下面的是否一致

  2. 免费 https 申请步骤,你必须知道

    不适用 https 加密的网站,基本上就等于在裸奔. 来,开始开始动手做 我的系统是 CentOS6 第一步:安装Certbot Certbot可以用于管理(申请.更新.配置.撤销和删除等)Let's ...

  3. ZK安装、ZK配置、ZK集群部署踩过的大坑

    天天采坑.来来咱们一起来填zookeeper的坑呀!! 解决坑一定要注意zk根目录下的神器,那就是logs目录下的日志, 第一坑:错误: 找不到或无法加载主类 org.apache.zookeeper ...

  4. String、String[]、ArrayList<String>之间的转换

    1. ArrayList<String> 转换为 String[]: ArrayList<String>  list = new ArrayList<>(); li ...

  5. Django中修改DATABASES后,执行python manage.py ****报错!UnicodeEncodeError

    Django中修改DATABASES后,执行python manage.py ****报错!UnicodeEncodeError: 'latin-1' codec can't encode chara ...

  6. JavaScript面向对象那些东西-继承

    继承 父类里有些属性方法 子类想把父类中的这些属性方法 继承过来给子类自己的实例也用用 ( ps: →_→ 能不能专业点 没文化真可怕 ) 一.原型链继承 // 原型链继承:把子类的原型作为父类的实例 ...

  7. 数据库SQL语言从入门到精通--Part 2--MySQL安装

    数据库从入门到精通合集(超详细,学习数据库必看) 首先给出的简单安装方式,文末给出标准的安装方式. 第一步下载我的压缩包 链接:https://pan.baidu.com/s/1EE40dU0j2U1 ...

  8. CodeForces - 1176A Divide it! (模拟+分类处理)

    You are given an integer nn. You can perform any of the following operations with this number an arb ...

  9. Windows+Ubuntu双系统 ,Ubuntu安装

    这篇只是简单记录自己在Win10下另安装Ubuntu系统. 不是教程,因为不会. 推荐一个教程:https://blog.csdn.net/weixin_37029453/article/detail ...

  10. CentOS上安装比较习惯的代码编辑器

    linux下的vim用起来不是很习惯,可能是能力有限.所以一直在找一种自己比较熟悉的代码编辑器,所以就找到了sublime text,安装方法网上有很多种,比较方便的方法:直接在csdn上下载一个破解 ...