HTTP协议全名为HyperText Transfer Protocol,超文本传输协议。
HTTP是一个基于TCP/IP通信协议来传递数据(任何数据)。
HTTP目前有两个版本1.0、1.1
1.http协议特性
-无连接的,每次请求完成收到回复则销毁;
-无记忆的,每个连接成功的进行一次request和response则会销毁,不会遗留历史信息
-媒体独立,可以传输任何类型的文件或数据
2.http的request和response
request包含:
-请求行 主要包括:URL、协议版本、请求方法和类型
-请求头 主要包括:contentType请求体编码格式、请求体长度
-空一行
-请求数据
ps:这里详细说i下请求方法哥类型,普通的增删改查不说了
-connect类型我所使用过的设置代理服务器翻墙使用这种形式,可以让服务器帮忙去请求我所不能访问的东西
-options类型查看服务器的详细信息
-head类型几乎和get一模一样只是没有请求体,经常用于测试连接的有效性
-trace类型回显服务器收到的请求,主要用于测试或诊断,这个经常会被人攻击慎用。
-patch类型是对 PUT 方法的补充,用来对已知资源进行局部更新 。
response包含:
-状态行 主要包括协议版本和请求状态
-消息报头 主要包括响应体编码、响应体长度、时间、
-空行
-响应体 可放入字节流传输文件
3.常见的状态码
200 请求成功
404没找到url
400请求参数错误
500后台处理异常
405请求方法、类型错误
301,302是http1.0的重新定向(不允许更改请求类型)
303、307、308是http1.1的重新定向(允许更改请求类型)