HTTP 协议的介绍
HTTP 协议的全称是(HyperText Transfer Protocol),翻译过来就是超文本传输协议。
超文本是超级文本的缩写,是指超越文本限制或者超链接,比如:图片、音乐、视频、超链接等等都属于超文本。
HTTP 协议的制作者是蒂姆·伯纳斯-李,1991年设计出来的,HTTP 协议设计之前目的是传输网页数据的,现在允许传输任意类型的数据。
传输 HTTP 协议格式的数据是基于 TCP 传输协议的,发送数据之前需要先建立连接。
HTTP 协议的作用
它规定了浏览器和 Web 服务器通信数据的格式,也就是说浏览器和web服务器通信需要使用http协议。
小结:
HTTP协议是一个超文本传输协议
HTTP协议是一个基于TCP传输协议传输数据的
HTTP协议规定了浏览器和 Web 服务器通信数据的格式
URL
URL的组成
URL的样子:
https://news.163.com/18/1122/10/E178J2O4000189FH.html
URL的组成部分:
协议部分: https://、http://、ftp://
域名部分: news.163.com
资源路径部分: /18/1122/10/E178J2O4000189FH.html
域名:
域名就是IP地址的别名,它是用点进行分割使用英文字母和数字组成的名字,使用域名目的就是方便的记住某台主机IP地址。
URL的扩展:
https://news.163.com/hello.html?page=1&count=10
查询参数部分: ?page=1&count=10
参数说明:
? 后面的 page 表示第一个参数,后面的参数都使用 & 进行连接
HTTP请求报文
HTTP最常见的请求报文有两种:
GET 方式的请求报文
POST 方式的请求报文
HTTP GET请求报文效果图
GET 请求报文说明:
----http get请求报文
----请求行-----
GET / HTTP/1.1 => 请求方法(方式) 请求的资源路径 http协议的版本
----请求头----
Host: www.itcast.cn => 服务器的主机ip地址和端口号,提示如果看不到端口号默认是80
Connection: keep-alive => 和服务端程序保存长连接,当客户端和服务端有一段时间(3-5)没有进行通信,那么服务器程序会主动向客户端断开连接
Upgrade-Insecure-Requests: 1 => 让客户端请求不安全请求,以后要使用https
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 => 用户代理,客户端程序名称,当后续讲爬虫的时候可以根据是否有User-Agent进行反爬机制
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 => 告诉服务端程序可以接受的数据类型
Accept-Encoding: gzip, deflate => 告诉服务端程序支持的压缩算法
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 => 告诉服务端程序支持的语言
Cookie: UM_distinctid=169f06ab9d21a-0a52d93224ce3-12376d57-13c680-169f06ab9d571a; accessId=22bdcd10-6250-11e8-917f-9fb8db4dc43c; bad_id22bdcd10-6250-11e8-917f-9fb8db4dc43c=5c8a