http
http就是客户端与服务端传输文本的一种协议。http协议是无状态的,它的默认端口是80。与http相近的就是我们很熟悉的https,https协议是采用加密传输,它的端口默认是443。(本文写的可能有些粗略,敬请批评指正)
那么http的请求方法有哪些呢?
- GET方法(常用) 用于获取信息页面
- post方法(常用) 用于上传、修改、添加服务端信息
- put方法 用于修改
- delete 用于删除
- head 只返回头信息
- trace 用于回显服务器收到的请求,主要用于测试或诊断
- connect HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
- options 客户端查看服务器的性能
我们只需要知道常用的GET和post方法即可
请求报文
- 方法
- URL
- 协议版本
- 请求头部
- 请求数据
响应
- 协议的版本
- 成功或者错误代码
- 服务器信息
- 响应头部
- 响应数据
http请求的步骤
- 建立TCP连接
- 客户端向服务器请求,请求体
- 服务器应答,返回响应头,响应内容
- 释放(关闭)TCP连接
- 客户端解析响应内容
http中常见的状态码
- 1xx:响应
- 2xx:成功 200(GET请求成功) | 201(修改成功)
- 3xx:重定向 302(临时重定向www.mi.com=>m.mi.com) | 304(未修改) | 307(临时重定向)
- 4xx:客户端有问题 401(未授权) | 403(禁止访问) | 404(网页找不到)
- 5xx:服务器有问题 500(服务器内部错误) | 502(网关错误) | 503(服务器不可用) | 504(超时) | 505
GET与POST对比
区别 | GET | POST |
---|---|---|
收藏 | get可以收藏地址 | POST不行 |
缓存 | 可以缓存 | 不可以缓存 |
请求数据量 | 2048kb | 无限 |
历史记录 | 请求在浏览器地址显示,留历史记录 | 参数不会再地址显示,不留历史记录 |
http的特点
- 无连接:一次处理一个连接,处理完直接关闭
- 无状态:无历史记录功能,处理断开,客户端与服务器就失去了连接状态
- 简单快速:GET POST head请求方式
- 灵活:不同的content-type返回不同数据类型
- 支持B/S和C/S