HTTP协议
HTTP协议简介
简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,主要用于网页的传输,现在也常应用网络API的开发(Restful API)。
HTTP是一个TCP/IP通信协议的最上层的协议之一(HTML文件、图片文件,查询结果等)。TCP/IP协议有兴趣的可以自行学习,做Web开发的需要一下,对于爬虫不是必要内容
简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议
HTTP协议能做什么?
很多人首先一定会想到:浏览网页。没错,浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。
基本工作原理
HTTP是浏览器或者其他客户端(如手机APP)和网站服务器之间沟通的协议
浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求
常用的Web服务器有:Nginx、Apache、IIS服务器(微软的产品)等。
Web服务器接收到的请求后、向客户端发送响应信息
HTTP默认端口号为80,但是你也可以改为8080或者其他端口
HTTP三个要点
HTTP是无连接:无连接的含义是限制每次链接只处理一个请求。服务器处理完客户的请求、并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型
HTTP是无状态:HTTP协议是无状态协议,无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次链接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快
HTTP
HTTP = Hyper Text Transfer Protocol(超文本传输协议)
无状态性:每次请求都是相互独立的
Request
Response
现在的版本是1.1
默认端口是80
传参数的方法
两种方式
URL:?参数1=参数值&参数2=参数值值
request Body
多个参数用&隔开
两种请求方式
URL:GET请求
reque Body:POST请求
参数格式:参数以键值对的方式出现,如p1=123
多个参数用&隔开,如?参数1=参数值&参数2=参数值值