文章目录
一:http协议
- 超⽂本传送协议(Hypertext Transfer Protocol ),是Web联⽹的基础,也是⼿机PC联⽹常⽤的协议之⼀,HTTP协议是建⽴在TCP协议之上的⼀种应⽤
- HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,从建⽴连接到关闭连接的过程称为“⼀次连接”
- HTTP请求-HTTP响应
- 响应码:
- 1xx:信息
- 2xx:成功 200 OK,请求正常
- 3xx:重定向
- 4xx:客户端错误 404 Not Found 服务器⽆法找到被请求的⻚⾯
- 5xx:服务器错误 503 Service Unavailable,服务器挂了或者不 可⽤
二:http与https的关系
- https主要由两部分组成:HTTP + SSL / TLS
- 比 HTTP 协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性,增加破解成本
- 缺点:相同网络环境下,HTTPS 协议会使页面的加载时间延长近 50%,增加额外的计算资源消耗,增加 10%到 20%的耗电等;不过利大于弊,所以Https是趋势,相关资源损耗也在持续下降
- 如果做软件压测:直接压测内网ip,通过压测公网域名,不管是http还是https,都会带来额外的损耗导致结果不准确
三:http协议消息体拆分
3.1:Http请求消息结构
- 请求行
- 请求方法
- URL地址
- 协议名
- 请求头
- 报文头包含若干个属性 格式为“属性名:属性值”,
- 服务端据此获取客户端的基本信息
- 请求体
- 请求的参数,可以是json对象,也可以是前端表单生成的key=value&key=value的字符串
- 请求的参数,可以是json对象,也可以是前端表单生成的key=value&key=value的字符串
3.2:Http响应消息结构
- 响应行
- 报文协议及版本、状态码
- 响应头
- 报文头包含若干个属性 格式为“属性名:属性值”
- 响应正文
- 响应报文体,我们需要的内容,多种形式比如html、json、图片、视频文件等
- 响应报文体,我们需要的内容,多种形式比如html、json、图片、视频文件等
四:HTTP九种请求方法介绍
4.1:http1.0定义了三种
- GET: 向服务器获取资源,比如常见的查询请求
- POST: 向服务器提交数据而发送的请求
- Head: 和get类似,返回的响应中没有具体的内容,用于获取报头
4.2:http1.1定义了六种
- PUT:一般是用于更新请求,比如更新个人信息、商品信息全量更新
- PATCH:PUT 方法的补充,更新指定资源的部分数据
- DELETE:用于删除指定的资源
- OPTIONS: 获取服务器支持的HTTP请求方法,服务器性能、跨域检查等
- CONNECT: 方法的作用就是把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户,网页开发基本不用这个方法,如果是http代理就会使用这个,让服务器代理用户去访问其他网页,类似中介
- TRACE:回显服务器收到的请求,主要用于测试或诊断
五:Http常见的响应状态码
浏览器向服务器请求时,服务端响应的消息头里面有状态码,表示请求结果的状态
- 分类
- 1XX: 收到请求,需要请求者继续执行操作,比较少用
- 2XX: 请求成功,常用的 200
- 3XX: 重定向,浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取;
- 好处:网站改版、域名迁移等,多个域名指向同个主站导流
- 必须记住:
- 301:永久性跳转,比如域名过期,换个域名
- 302:临时性跳转
- 4XX: 客服端出错,请求包含语法错误或者无法完成请求
- 必须记住:
- 400: 请求出错,比如语法协议
- 403: 没权限访问
- 404: 找不到这个路径对应的接口或者文件
- 405: 不允许此方法进行提交,Method not allowed,比如接口一定要POST方式,而你是用了GET
- 必须记住:
- 5XX: 服务端出错,服务器在处理请求的过程中发生了错误
- 500: 服务器内部报错了,完成不了这次请求
- 503: 服务器宕机