网络Http请求
HTML
Hypertext Markup Language 超文本链接标示语言
Web Server
-
加载简单的Web页面可能需要很多个请求,需要请求不同的服务器索取资源:HTML页面本身、图像或其他媒体
-
HTTP请求总是涉及客户端和服务器。
-
您现在使用的是HTTP客户端——Web浏览器。
-
您的浏览器向Web服务器发送HTTP请求,服务器将响应发送回浏览器。

-
浏览器拥有所有的用户界面、动画和图形内容。
-
服务器只需要做一件事:处理传入的请求。
-
服务器只是一个程序,它接受来自网络上其他程序的连接。
当你启动一个服务器程序时,它会等待客户端连接到它,就像演示服务器等待Web浏览器请求页面一样。然后,当一个连接出现时,服务器运行一段代码,比如调用一个函数来处理每个传入的连接。从这个意义上说,一个连接就像一个电话:它是一个通道,通过它,客户端和服务器可以相互通信。Web客户端通过这些连接发送请求,服务器将响应发送回。
本地服务器
- 在一个文件目录中启动Python 本地服务器,端口
8000
您的浏览器发送的每个请求的条目的服务器日志:

然后在浏览器中访问:http://localhost:8000/

这就是Python演示服务器,在自己的计算机上运行。它提供本地磁盘上的文件,以便您可以在浏览器中查看它们。
你在你的浏览器中输入localhost8000 时,你的浏览器向运行的Python程序发送一个HTTP请求。您的浏览器将该程序的响应数据在UI上展现。在这种情况下,它显示了一个作为一块HTML的目录列表。您还可以使用浏览器的开发工具查看它发送的HTML。
URI
Web地址也被称为统一资源标识符的URI(Uniform Resource Identifier)。你以前见过很多这样的。从Web用户的角度来看,URI是一个文本,放在Web浏览器中,告诉它要到哪个页面。从Web开发人员的角度来看,它有点复杂。
URL
URL or Uniform Resource Locator
URL是网络上资源的URI。由于URI稍微精确一些,不要过分担心这个区别。
这里是一个例子:https://en.wikipedia.org/wiki/fish
这个URI有三个可见部分,用一点点标点符号隔开:
- https 是该方案Scheme;
- en.wikipedia.org 是主机名;
- wiki/fish 是路径。
不同的URI可以有不同的部分
方案Scheme
URI的第一部分是该方案,它告诉客户如何访问资源。您以前见过的一些URI方案包括HTTP、HTTPS和File。File的URI告诉客户端访问本地文件系统中的文件。HTTP和HTTPS URI指向资源由Web服务器提供。
主机名
在一个HTTP URI方案后是一个主机名--有点像www.udacity.com或本地主机出现,接下来的事情。这告诉客户机要连接哪个服务器。
路径
在HTTP URI(以及许多其他)中,接下来出现的是路径,该路径标识服务器上的特定资源。服务器可以有很多资源,比如不同的网页、视频或API。路径告诉服务器客户机正在寻找的资源。
当你写一个URI没有路径,如http://udacity.com,浏览器填写默认路径,它是用一个斜线。这就是为什么http://udacity.com是http://udacity.com/相同(最后用一个斜线)。
用一个斜杠写的路径也被称为根。当你看演示服务器根URI HTTP:/本地:8000 / -你不看你的电脑的整个文件系统的根。它只是Web服务器提供的资源的根。演示服务器不会让Web浏览器访问正在运行的目录之外的文件。
URI相对路径
<a href="cliffsofinsanity.png">cliffsofinsanity.png</a>
在这样一个没有一个方案,或一个主机名-只是一个路径。这是一个相对URI引用。它与它出现的上下文是“相对的”——具体地说,是它所在的页面。这个URI不包含服务器的主机名或端口,但浏览器可以发现从上下文。如果您单击其中一个链接,浏览器就知道它需要从同一个服务器中获取原始页面。
URI其他部分
#标志称为片段。浏览器甚至不会发送到Web服务器。它让一个链接指向资源的一个特定的命名部分;在HTML页面中,它通过ID链接到一个元素。
Cookie
客户端在请求server端数据时,cookie是由server端在返回客户端数据时,生成一个保存用户状态的cookie,一同返回给客户端。 cookie用来保存用户状态,区分用户;状态(cookie)保存在客户端。
- 客户端发送的cookie在http请求报文的Cookie首部字段中
- 服务端设置http响应报文的Set-Cookie首部字段
覆盖
name、path、domain等需要一致 cookie是有一定时间的: 一下cookie失效:
- expires=过去的时间点
- maxAge=0
cookie安全
cookie加密
Session
Session也是用于记录用户状态的,存于服务端,依赖于cookie.
