一、HTTP基本原理
1.URL统一资源定位符
2.hypertext超文本,网页源代码都是超文本,网页是由超文本解析而成的
3.HTTPS是由HTTP下加入SSL层,即通过它传输的内容都是经过SSL加密的,是HTTP的安全版
4.Chrome浏览器network面板各列含义
第一列 Name:
请求的名称,一般会将 URL 的最后一部分内容当作名称。
第二列 Status:
响应的状态码,这里显示为200,代表响应是正常的。通过状态码,我们可以判断发送了请求之后是否得到了正常的响应。
第三列 Type:
请求的文档类型。这里为 document,代表我们这次请求的是一个 HTML 文档,内容就是一些 HTML 代码。
第四列 Initiator:
请求源。用来标记请求是由哪个对象或进程发起的。
第五列 Size:
从服务器下载的文件和请求的资源大小。如果是从缓存中取得的资源,则该列会显示 from cache。
第六列 Time:
发起请求到获取响应所用的总时间。
第七列 Waterfall:
网络请求的可视化瀑布流
条目详细信息
5.请求
请求是由客户端发出,一般可分为4部分内容:请求方法,请求的网址,请求头和请求体
常见的请求方法 | |
---|---|
GET | 请求页面,并返回页面内容 |
HEAD | 类型GET,但是返回报头 |
POST | 提交表单或上传文件 |
PUT | 从客户端向服务器传送的数据取代指定文档中的内容 |
DELETE | 请求服务器删除指定页面 |
CONNECT | 把服务器当跳板,代替客户端访问其他页面 |
OPTIONS | 允许客户端查看服务器性能 |
TRACE | 回显服务器收到的请求,主要用于测试或者诊断 |
常见的请求为get和post,区别有:
a、get请求的参数包含在URL里面,通过分析URL就能得知,而post请求包含在请求体中,以表单的形式传输
b、get请求提交的数据最多只有1024字节,post方式没有限制
请求头 | 用来说明服务器要使用的附加信息 |
---|---|
Accept | 请求报头域,指定客户端可接受信息的类型 |
Accept-Language | 客户端可接受语言类型 |
Accept-encoding | 客户端可接受内容编码 |
Host | 指定请求资源的主机IP和端口号 |
Cookies | 维持当前访问会话,为辨别用户进行会话跟踪而储存在本地的数据 |
Refer | 标识请求来源 |
User-Agent | 使服务器识别客户使用的操作系统及版本,浏览器及版本等信息 |
Content-Type | 具体请求中的媒体类型信息 |
在请求体中,请求体承载的内容一般为post请求中的内容,Content-Type和POST提交数据方式的关系如下:
application/x-www-form-urlencoded | 表单数据 |
multipart/form-data | 表单文件上传 |
application/json | 序列化Json数据 |
text/xml | XML数据 |
6.响应
响应分为响应状态码,响应头和响应体三部分
响应状态吗
响应头中常用的头信息
date | 响应产生时间 |
Last-Modified | 资源最后修改时间 |
Content-Encoding | 响应内容编码 |
Server | 包含服务器信息 |
Content-Type | 指定返回的文档类型 |
Set-Cookie | 设置cookies |
Expires | 指定响应的过期时间 |
响应体是最重要的部分,是做爬虫需要解析的目标,在浏览器开发者工具中电机Preview就可以看到响应体的内容