如果各位是统计系的同学
相信大家应该有学过有关网页的一些基础内容叭~
本篇将继续为大家介绍有关请求、响应的内容鸭
请求
由客户端发出,共包括四部分内容:请求方法(Request Method)、请求网址(Request URL)、请求头(Request Headers)、请求体(Request Body)。
1、请求方法
常见请求方法:GET和POST。
在浏览器中直接输入URL并回车,就发起了一个GET请求,在GET请求中,参数会直接包含在URL中,例如在百度搜索框中输入:爬虫
URL会变为:https://www.baidu.com/s?wd=爬虫&rsv_spt=1&rsv_iqid=0xd6756d380003cff3&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=4&rsv_sug1=3&rsv_sug7=101
(注意:此处汉字之间没有空格,至于为啥word这么显示我也不清楚)。
wd表示要搜寻的关键字,POST请求大多在表单提交时发起,例如我们在一个网站进行登录时,输入用户名和密码,点击“登录”按钮,就会发起一个POST请求,数据以表单的形式传输,不体现在URL中。
区别:
1).GET请求参数包含在URL中,而POST请求的数据通过表单方式进行传输,不包含在URL当中,会包含在请求头中;
2).GET请求提交的数据最多1024字节,而POST请求没有限制。
(注:上传文件时,由于文件内容比较大,也会选用POST方式)。
所有请求方法:
2、请求头
请求头用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Referer、User-Agent等,服务器会根据请求头内的信息判断请求是否合法。
请求头内包含的信息:
Accept:请求报头域,用于指定客户端可接受哪些类型的信息
Accept-Language:指定客户端可接受的语言类型
Accept-Encoding:指定客户端可接受的内容编码
Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置
Cookie:这是网站用于辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访问会话。通俗讲就是维持我们当前的状态,例如我们在一个网上上进行登录,登录之后我们保持着一个登录的状态,从而网站没有让我们反复地登录,就是Cookie的原因,例如我们刷新一下网页,请求头中包括这Cookie并将其发送给服务器,服务器通过Cookie识别出我们自己,检查出当前状态是登录状态。
Referer:此内容用来表示请求是从哪个网页发过来的。
User-Agent:简称UA,是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本信息,在爬虫时我们会利用这个信息,伪装成浏览器,如果不加很容易会被服务器识别出为爬虫。
Content-Type:用来表示具体请求中的媒体类型信息。
3、请求体
请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体为空。
4、请求网址
统一资源定位符URL,可以唯一确定我们想请求的资源。
响应
有服务器端返回给客户端,分为3部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)。
1.响应状态码
响应状态码表示服务器的响应状态,当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
常见HTTP状态码:
200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
具体HTTP状态码列表请访问:http://www.runoob.com/http/http-status-codes.html
2.响应头
响应头包含了服务器对请求的应答信息,如Content-Type、Server、Set-Cookie等。
Date:标识响应产生的时间。
Last-Modified:指定资源的最后修改时间。
Content-Encoding:响应内容的编码。
Server:包含服务器的信息,例如名称、版本号等。
Content-Type:文档类型,指定返回的数据类型,如text/html表示返回HTML文档,application/x-javascript则代表返回javascript文件,image/jpeg表示返回图片。
Set-Cookie:设置Cookie(更新),响应头中的Set-Cookie告诉浏览器需要将此内容放在Cookie中,以便下次发送请求时携带。
Expires:指定响应的过期时间。
3.响应体
响应的正文数据都在响应体中,例如请求网页时,响应体就是网页的HTML代码,请求一张图片时,它的响应体就是图片的二进制数据。爬虫请求网页后,要解析的内容就是响应体。
在做爬虫时,我们主要通过响应体得到网页的源代码、JSON数据等,然后从中提取内容。
本期推送到此就结束啦,
关于网页的基本知识(html、css、javascript以及Cookie、会话)
将在下一篇推送中介绍
不见不散哟~
文案:王为广
排版:方悦
领取专属 10元无门槛券
私享最新 技术干货