HTTP请求过程

协议:为了使两个计算机之间能够通信而立下的君子协议,类似的还有很多,比如:TCP/IP,HTTP,SMTP协议等。

HTTP协议, Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www:World Wide Web)服务器传输超文本到本地浏览器的传送协议.直白点儿,就是浏览器和服务器之间的数据交互遵守的就是HTTP协议. 协议,超文本传输协议(超文本传输协议)的缩写,是用于从万维网)(WWW:万维网)服务器传输超文本到本地浏览器的传送协议。直白点儿,就是浏览器和服务器之间的数据交互遵守的就是HTTP协议.

关于HTTP的请求过程,简答来说就是客户端发出请求,服务器端接收后做出响应返回给客户端。

HTTP协议把一条消息分为三大块内容,无论是请求还是响应都是四大块内容:

1.请求方式:GET和POST

2.请求网址:URL地址和协议

3.请求头:放一些服务器要使用的附加信息

4.请求体:一般放一些请求参数

请求方法

常见的请求方法有两种POST和GET这两种,这里两种请求的方式的区别在于两点:

GET请求中的参数包含在URL当中里面,数据可以在URL当中看见,而POST请求将不会包含数据在URL当中,数据都是通过表单的形式传输,会包含在请求体当中。

GET请求提交的数据最多只有1024字节,而POST请求方式没有任何限制

简单来说,GET请求是显示提交(请求页面,并返回页面的内容),POST是隐形提交(大多数用于提交表单或上传文件,数据包含在请求体当中)

请求网址

请求的网址,即统一资源定位符URL,它可以唯一确定我们想请求的资源。

请求头

请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie,Referer,User - Agent等,下面简单说明一下常用的头信息:
Accept :请求报头域,用于指定客户端可接受哪些类型的信息。

Accept - Language :指定客户端可接受的语言类型。

Accept - Encoding :指定客户端可接受的内容编码。

Host :用于指定请求资源的主机 IP 和端口号,其内容为请求URL的原服务器或网关的位置。从 HTTP 1.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 类型,更多对应关系可以查看此对照表:http://tool.oschina.net/commons。

因此,请求头是请求的重要组成部分,在写爬虫时,大部分情况下都需要设定请求头。

请求体

请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求头则为空。

但是需要注意的一点重要的内容是,在爬虫当中,如果需要构造POST请求,需要使用正确的Content-Type,并了解各种请求库的各个参数设置时使用的是那种Content-Type,不然可能会导致POST提交后无法正常响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值