python爬虫基础——万维网WWW和http协议

pyhton爬虫基础

 

万维网

1.统一资源定位符URL

1.1 URL的格式

1.2 使用http的URL

2.超文本传送协议HTTP

2.1 HTTP的操作过程

2.2 HTTP的报文结构

3.超文本标记语言HTML


万维网

万维网是一个大规模的、联网式的信息储藏所,英文简称为Web。

万维网使用链接的方法能非常方便地从因特网上的一个站点访问另一个站点(也就是链接到另一个站点),从而主动地按需获取丰富的信息。

万维网是一个分布式的超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。所谓超文本就是包含其他文档的链接的文本。也就是说,一个超文本由多个信息源连接而成,利用一个链接可以使用户找到其他文档,而这又可以连接到其他的文档。超文本就是万维网的基础。

万维网以客户-服务器方式工作。浏览器其实就相当于一个客户端,它可以向服务器发送访问请求。万维网文档所驻留的主机则运行服务器程序,因此这个主机也被称为万维网服务器。

客户程序(浏览器)向服务器程序发送请求,服务器程序向客户程序送回客户所要的万维网文档。

可以看出,万维网必须解决以下几个问题:

(1)怎样标志分布在整个因特网上的万维网文档?             

(2)用什么样的协议来实现万维网上的各种链接?              

(3)怎么样才能使不同作者创建不同风格的文档,并且可以在因特网上的各种主机上显示出来?

为了解决第一个问题,万维网使用统一资源定位符URL(Uniform Resource Locator来标记万维网上的各种文档,并使每一个文档在整个因特网的范围内具有唯一的标识符URL。

为了解决第二个问题,就要保证万维网客户程序与万维网程序之间的交互遵守严格的协议,这就是超文本传输协议HTTP(Hypertext Transfer Protocal)。HTTP是一个应用层协议,它使用TCP进行可靠的传输。但是,HTTP本身并不是面向连接的,HTTP是无连接的

  • HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
  • HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

为了解决第三个问题,万维网使用超文本标记语言HTML(HyperText Markup Language,使得万维网页面的设计者可以很方便的用链接从本页面的某处链接到因特网上的任何一个万维网页面。

1.统一资源定位符URL

1.1 URL的格式

1.2 使用http的URL

2.超文本传送协议HTTP

2.1 HTTP的操作过程

2.2 HTTP的报文结构

HTTP的请求报文结构如下:

python爬虫基础——万维网WWW和http协议_第1张图片图片来源(http://www.runoob.com/http/http-messages.html)

请求报文的第一行“请求行”只有三个内容,即

(1)方法

(2)请求资源的URL

(3)HTTP的版本

  • 方法:

方法就是对所请求的对象进行的操作。这些方法其实也就是一些命令。因此,请求报文的类型实际上是由它所采用的方法决定的。

主要方法:

 

表1 HTTP请求报文的一些方法
方法(操作) 意义
OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。
HEAD 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。
GET 请求读取由URL所标志的信息
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。
PUT 向指定资源位置上传其最新内容。
DELETE 请求服务器删除 Request-URI 所标识的资源。
TRACE 回显服务器收到的请求,主要用于测试或诊断。

CONNECT

用于代理服务器。

 

 

 

 

 

 

 

 

 

 

 

3.超文本标记语言HTML

你可能感兴趣的:(Python学习心得)