URL的全称为Universal Resource Locator,即统一资源定位符。基本格式如下:,
scheme://host[:port#]/path/../[?query-string][#anchor] # scheme:协议(http、https、ftp) # host:服务器IP地址 # port#:服务器端口 # path:访问资源路径 # query-string:参数、发送给http服务器的数据 # anchor:锚(跳转到网页的指定锚点位置)
超文本又被称为:hypertext,网页的源代码HTML就可以称作超文本。
- HTTP与HTTPS
HTTP的中文名叫作超文本传输协议。HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证高效而准确地传送超文本文档。
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,简称为HTTPS。它能建立一个信息安全通道来保证数据传输的安全;其次,能帮助确认网站的真实性。
我们在浏览器中输入一个URL,回车之后便会在浏览器中观察到页面内容。实际上,这个过程是浏览器向网站所在的服务器发送了一个请求,网站服务器接收到这个请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器。响应里包含了页面的源代码等内容,浏览器再对其进行解析,便将网页呈现了出来
请求,由客户端向服务端发出,可以分为4部分内容:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体(Request Body)。
GET请求,请求的参数会直接包含到URL里
POST请求,其数据通常以表单的形式传输,而不会体现在URL中
GET和POST请求方法有如下区别。
请求的网址,即统一资源定位符URL,它可以唯一确定我们想请求的资源。
请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Referer、User-Agent等。下面简要说明一些常用的头信息。
因此,请求头是请求的重要组成部分,在写爬虫时,大部分情况下都需要设定请求头
请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体则为空。
Content-Type |
提交数据的方式 |
---|---|
application/x-www-form-urlencoded |
表单数据 |
multipart/form-data |
表单文件上传 |
application/json |
序列化JSON数据 |
text/xml |
XML数据 |
响应,由服务端返回给客户端,可以分为三部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)。
响应状态码表示服务器的响应状态
处理了部分请求 |
||
300 |
多种选择 |
针对请求,服务器可执行多种操作 |
301 |
永久移动 |
请求的网页已永久移动到新位置,即永久重定向 |
302 |
临时移动 |
请求的网页暂时跳转到其他页面,即暂时重定向 |
303 |
查看其他位置 |
如果原来的请求是POST,重定向目标文档应该通过GET提取 |
304 |
未修改 |
此次请求返回的网页未修改,继续使用上次的资源 |
305 |
使用代理 |
请求者应该使用代理访问该网页 |
307 |
临时重定向 |
请求的资源临时从其他位置响应 |
400 |
错误请求 |
服务器无法解析该请求 |
401 |
未授权 |
请求没有进行身份验证或验证未通过 |
403 |
禁止访问 |
服务器拒绝此请求 |
404 |
未找到 |
服务器找不到请求的网页 |
405 |
方法禁用 |
服务器禁用了请求中指定的方法 |
406 |
不接受 |
无法使用请求的内容响应请求的网页 |
407 |
需要代理授权 |
请求者需要使用代理授权 |
408 |
请求超时 |
服务器请求超时 |
409 |
冲突 |
服务器在完成请求时发生冲突 |
410 |
已删除 |
请求的资源已永久删除 |
411 |
需要有效长度 |
服务器不接受不含有效内容长度标头字段的请求 |
412 |
未满足前提条件 |
服务器未满足请求者在请求中设置的其中一个前提条件 |
413 |
请求实体过大 |
请求实体过大,超出服务器的处理能力 |
414 |
请求URI过长 |
请求网址过长,服务器无法处理 |
415 |
不支持类型 |
请求格式不被请求页面支持 |
416 |
请求范围不符 |
页面无法提供请求的范围 |
417 |
未满足期望值 |
服务器未满足期望请求标头字段的要求 |
500 |
服务器内部错误 |
服务器遇到错误,无法完成请求 |
501 |
未实现 |
服务器不具备完成请求的功能 |
502 |
错误网关 |
服务器作为网关或代理,从上游服务器收到无效响应 |
503 |
服务不可用 |
服务器目前无法使用 |
504 |
网关超时 |
服务器作为网关或代理,但是没有及时从上游服务器收到请求 |
505 |
HTTP版本不支持 |
服务器不支持请求中所用的HTTP协议版本
|
响应头包含了服务器对请求的应答信息,如Content-Type、Server、Set-Cookie等。下面简要说明一些常用的头信息。
最重要的当属响应体的内容了。响应的正文数据都在响应体中,比如请求网页时,它的响应体就是网页的HTML代码;请求一张图片时,它的响应体就是图片的二进制数据。我们做爬虫请求网页后,要解析的内容就是响应体
原文:https://www.cnblogs.com/Iceredtea/p/11026017.html