这是我参与「第四届青训营」笔记创作活动的第7天。
1.1Network
打开谷歌浏览器,右击并选择“检查”,即可打开浏览器的开发者工具。
在Network页面下方有许多条目,每个条目代表一次发送请求和一次接收响应的过程。
①Name:请求名称。一般把URL最后一部分内容当作名称。
②Status:响应状态码。可以判断发送请求后是否得到正常的相应,200代表响应正常。
③Type:请求文件的类型。document-HTML文档、png-图片...
④Initiator:请求源。用来标记请求是由哪个对象or进程发起的。
⑤Size:从服务器下载的文件大小。如果是从缓存中下载的,则会显示from cash
⑥Time:请求到相应的总时间。
⑦Waterfall:网络请求的格式化瀑布流。
1.2请求
双击选中一个请求,会跳出三部分详细信息:
General、Response Headers(响应头)、Request Headers(请求头)
服务器根据请求头内的信息判断请求头是否合法,并做出响应。响应头就是响应的一部分,比如,其中包含服务器类型、文档类型、日期...浏览器接收到响应内容后,会解析响应内容,呈现网页内容。
1.2.1请求方法Request Method
①GET
在浏览器中直接输入URL并回车,便发起了一个GET请求,请求的参数会直接包含到URL里。GET请求提交的数据最多只有1024字节,会包含在请求体中。
例如:在百度中搜索Python,就是一个GET请求。链接为www.baidu.com/s?wd=python,URL中包含了请求的参数信息,参数wd表示要搜寻的关键字。
②POST
POST请求大多在表单提交时发起。没有字节数限制。
例如:对于一个登录表单,输入用户名和密码后,点击“登录”按钮通常会发起一个POST请求,其数据通常以表单的形式传输,而不会体现在URL中。非公开信息or大文件最好以POST请求发送。
1.2.2请求的网址Request URL
统一资源定位符URL可以唯一确定我们想请求的资源。
1.2.3请求头Request Headers
用来说明服务器要使用的附加信息,比较重要的信息有COOkie、Referer、User-Agent
①Accept:请求报头域,用于指定客户端可接受哪些类型的信息。
②Accept-Language:指定客户端可接受的语言类型。
③Accept-Encoding:指定客户端可接受的内容编码。
④Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置。从HTTP1.1版本开始,请求必须包含此内容。
⑤Cookie:也常用复数形式Cookies,这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据它的主要功能是维持当前访问会话。例如,我们输入用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是Cookies的功劳。 Cookies里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上Cookies并将其发送给服务器,服务器通过Cookies识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容。
⑥Referer:此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相应的处理如做来源统计、防盗链处理等
⑦User-Agent:简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本等信息。在做爬虫时加上此信息,可以伪装为浏览器;如果不加,很可能会被识别出为爬虫
⑧Content-Type:也叫互联网媒体类型(Internet Media Type)或者MIME类型,在HTTP协议消息头中,它用来表示具体请求中的媒体类型信息。例如,text/html代表HTML格式,image/gif代表GIF图片,application/json代表JSON类型。
1.2.4请求体Request Body
请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体则为空
个人总结
本文介绍了如何使用谷歌浏览器的开发者工具查询网页的相关信息,以及各种信息分别代表什么。重点在于了解GET和POST这两种请求方法的区别。