HTTP协议
1、什么是HTTP协议
协议:协议是一种双方规定好的规范,双方在做某一件事情的时候,必须按照事先规定好的规范去实现和操作。
HTTP:超文本传输协议,HyperText Transport Protocol 超文本在服务器与浏览器之间传输时要遵循的协议。
2、什么是html?
超文本标记语言:HyperText Markup Language
html的作用:保证统一数据在不同的电脑(用户),看到的效果一样。
3、HTTP协议的特点
支持客户/服务器模式:HTTP协议是为b/s而生,是基于web产生,http协议不仅限于b/s,凡是能够发出http请求的东西,都可以使用http协议访问服务器。
简单快速【只需请求方法和路径】:用户通过浏览器发起请求的时候;输入url即可
灵活【任意数据】:可以传输任意数据类型,不管是字符流还是二进制流
无连接【每次连接只处理一个请求】:当浏览器发起一次请求之后,服务器只能对当前请求产生一次响应,响应完就会关闭连接。
无状态【事务处理没有记忆能力】:同一个浏览器连续多次向服务器发起请求,服务器都不认识(可以使用从cookie解决无状态问题)
4、HTTP协议内容
HTTP协议根据参与者(客户端和服务器)的参与方式分为两种:HTTP请求(Request)和HTTP响应(Response)
HTTP请求的方式:GET,POST,PUT,DELETE,CONNECT,OPTIONS,PATCH,TRACE
5、HTTP请求
HTTP请求分为4个部分:请求行,请求头,空行,请求数据,四个部分都是独立占行
请求行:请求方式,请求文件路径(URL)协议版本
请求头:请求头是具体的协议内容的集合,每个部分的协议占一行,每一行分为两个部分;
协议名:协议的内容
常见的请求头
host:主机名(域名),必要的
accept-encoding :允许服务器传送什么类型的数据
referer:请求来源
connection:连接状态
accept-language:能够接受的语言
cookie:携带的保存在浏览器端的数据
user-agent:当前浏览器的内核信息
accept:可以接受的数据,text,image
content-length(post):当前浏览器提交的数据的长度
if-modified-since(get):当前浏览器本地有缓存,询问服务器被请求的脚本有没有更新
content-type(post):数据类型
6、服务器响应
HTTP响应也分为四个部分,分别是:状态行,消息报头,空行和响应正文