JuneDeng


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

HTTP & Web Servers Unit 1 Lesson 2 Your first web server

发表于 2017-12-18 | 分类于 技术

练习:运行你的第一个网络服务器

服务器只需要做一件事:处理收到的请求。
Python的http.server模块可以你的电脑上运行一个内置的网络服务器。

开一个终端,cd到一个含有一些文件的目录,可以是文本文件,html文件或者图片,然后在终端运行:
python3 -m http.server 8000。

浏览器键入:http://localhost:8000/ 。
这个示例服务器是一个真正的网络服务器。如果该本地网络还有其他的电脑,你可以使用其他电脑获取该服务器上的文件。
当你在浏览器键入localhost:8000,你的浏览器会向你正在运行的python程序发送http请求。
这个程序会返回一段数据,浏览器会展示给你。

Note:如果刚才的目录下,你有一个文件叫做index.html,你会看到index.html的内容,而不是目录下的文件列表。将index.html移动到其他地方,你看到的又是目录下的文件列表。

什么是服务器?

A server is just a program that accepts connections from other programs on the network.

当你开始一个服务器程序,它等着客户端连接到它-就像刚才的示例服务器等着浏览器向它请求一个页面一样。
当连接来了,服务器运行一段代码 - 比如运行一个函数 - 来处理每一个到来的连接。
就像是打电话:通过这个渠道,服务器和客户端可以互聊。
网络客户端通过连接发送请求,服务器发送响应回来。

HTTP & Web Servers Unit 1 Lesson 1 Introduction

发表于 2017-12-18 | 分类于 技术

准备工作

  • 安装python3
  • 安装git
  • 安装Nmap
  • 在两个终端测试ncat程序

安装Nmap

  • Windows: 下载运行 https://nmap.org/dist/nmap-7.30-setup.exe
  • Mac (with Homebrew):在终端运行 brew install nmap
  • Mac (without Homebrew): 下载安装 https://nmap.org/dist/nmap-7.30.dmg
  • Debian/Ubuntu/Mint: 终端运行 sudo apt-get install nmap

检查ncat是否正确安装运行,开2个终端,其中一个运行ncat -l 9999,另一个运行ncat localhost 9999.然后在其中一个终端输入一些内容,按enter键,应该可以在另一个终端看到输入的内容。
其中一个ncat程序在这里充当了一个简单的网络服务器的角色,另一个充当客户端角色。

Note:如果发生错误如“Address already in use”,表示你电脑中已经有其他程序在使用9999端口。你可以换个端口使用。注意客户端和服务器需要使用同一个端口。
在终端输入Control-C退出ncat程序。如果先输入的是服务器端,客户端会自动退出。因为服务器关闭会自动中断连接。

1…131415…32
June Deng

June Deng

make the world a better place

63 日志
2 分类
24 标签
GitHub
© 2018 June Deng
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4