51:从浏览器获取输入.pdfVIP

  • 10
  • 0
  • 约1.19万字
  • 约 10页
  • 2017-06-24 发布于天津
  • 举报
51:从浏览器获取输入.pdf

51 :从浏览器获取输⼊ 练习51.从浏览器获取输⼊ 虽然能让浏览器显⽰“Hello World”是很有趣的⼀件事情,但是如果能让⽤户通过表单 (form) 向你的应⽤ 序提交⽂本就更有趣了。这节习题中,我们将使⽤ form 改进你的 web 序,并且将⽤户相关的信息保存到他们的“会话(session)” 中。 Web 的⼯作原理 该学点⽆趣的东西了。在创建 form 前你需要先多学⼀点关于 web 的⼯作原理。这⾥讲 的并不完整,但是相当准确,在你的 序出错时,它会帮你找到出错的原因。另外, 如果你理解了 form 的应⽤,那么创建 form 对你来说就会更容易了。 我将以⼀个简单的图⽰讲起,它向你展⽰了 web 请求的各个不同的部分,以及信息传 递的⼤致流 : 为了⽅便讲述 HTTP 请求(request) 的流 ,我在每条线上⾯加了字母标签以作区别: 1. 你在浏览器中输⼊⽹址//,然后浏览器会通 过你的电脑的⽹络设备发出 request (线路 A )。 2. 你的 request 被传送到互联⽹ (线路B ),然后再抵达远端服务器 (线路 C ),然后我的服务器将接受这个 request 。 3. 我的服务器接受 request 后,我的web应⽤ 序就去处理这个请求 (线路 ),然后我的 Python代码就会去运⾏index .GET这 个“处理 序(handler)” 。 4 . 在代码return 的时候,我的 Python 服务器就会发出响应 (response) ,这个响应会再通过线路 传递到你的浏览器。 5. 这个⽹站所在的服务器将响应由线路 获取,然后通过线路 C 传 ⾄互联⽹。 6. 响应通过互联⽹由线路 B 传⾄你的计算机,计算机的⽹卡再通过 线路 A 将响应传给你的浏览器。 7 . 最后,你的浏览器显⽰了这个响应的内容。 这段解释中⽤到了⼀些术语。你需要掌握这些术语,以便在谈论你的 web 应⽤时你能 明⽩⽽且应⽤它们: 浏览器(browser)这是你⼏乎每天都会⽤到的软件。⼤部分⼈不知道它真正的原理,他 们只会把它叫作“the internet” 。它的作⽤其实是接收你输⼊到地址栏⽹址(例如 /) ,然后使⽤该信息向该⽹址对应的服务器提出请求(request) 。 地址(address)通常这是⼀个像/⼀样的 URL (Uniform Resource Locator ,统⼀资源定位器) ,它告诉浏览器该打开哪个⽹站。前⾯的http 指出了你要 使⽤的协议(protocol) ,这⾥我们⽤的是“超⽂本传输协议(Hyper-Text Transport Protocol)” 。你还可以试试/ ,这是⼀个“FTP ⽂件传输协议 (File Transport Protocol)”的例⼦。 这部分是“主机名(hostname)” ,也就是⼀ 个便于⼈阅读和记忆的字串,主机名会被匹配到⼀串叫作“IP 地址”的数字上⾯,这 个“IP 地址”就相当于⽹络中⼀台计算机的电话号码,通过这个号码可以访问到这台计 算机。最后,URL 中还可以尾随⼀个“路径” ,例如 //book/中 的/book/,它对应的是服务器上的某个⽂件或者某些资源,通过访问这样的⽹址, 你可以向服务器发出请求,然后获得这些资源。⽹站地址还有很多别的组成部分,不 过这些是最主要的。 连接(connection)⼀旦浏览器知道了协议(http)、服务器(/)、以及 要获得的资源,它就要去创建⼀个连接。这个过 中,浏览器让操作系统(Operating System , OS)打开计算机的⼀个“端⼜(port)” (通常是 80 端⼜),端⼜准备好以后,操 作系统会回传给你的 序⼀个类似⽂件的东西,它所做的事情就是通过⽹络传输和接 收数据,让你的计算机和 /这个⽹站所属的服务器之间实现数据 交流。 当你使⽤ http://localhost:8080/访问你⾃⼰的站点时,发⽣的事情其 实是⼀样的,只不过这次你告诉了浏览器要访问的是你⾃⼰的计算机(localhost) ,

文档评论(0)

1亿VIP精品文档

相关文档