网络协议概述
网络协议是连接客户端和服务器端的桥梁。学习与网络协议相关的知识,能够让我们对网络通信过程以及通信所需条件有一个全面的认识,可以帮助我们提升爬虫技术或者设计出更有效的反爬虫方案。
常见的网络协议有HTTP协议、web socket协议、FTP协议、SSH协议和View-Source协议等
一、认识HTTP
当客户端与Web服务器进行交互时,就存在Web请求,这种请求都基于统一的应用层协议交互数据。
HTTP即超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础。它允许将HTML文档从Web服务器传送到Web浏览器
1.1HTTP协议的特点
- 简单快速:客户向服务器请求服务时,只需传输请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快
- 灵活:HTTP允许传输任意类型的数据对象,正则传输的类型由Content-Type加以标记
- 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间
- 无状态:无状态是指协议对于事务处理没有记忆能力。后续如果需要前面的信息,则必须重新传送,这样就导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答比较快。
1.2请求和响应
HTTP请求分成三个部分,分别是请求行&#