HTTP请求:
首行:【方法】+【url】+【版本】
Header:请求的属性,由冒号+空格分割的键值对组成,每组属性之间由\r\n分割
空行:表示Header部分结束
Body:空行后面的内容都是Body,Body允许为空字符串,如果Body存在,则在Header中会有一个Content-Length属性来标识Body的长度
HTTP响应:
首行:【协议版本】+【状态码】+【状态码描述】
Header:由冒号+空格分割的键值对组成,每组属性之间由\r\n分割
空行:表示Header部分结束Body:空行后面的内容都是Body,如果服务器返回了一个html页面,那么html页面的内容就在Body中。
请求方法:比较常用的get和post的区别
get和post的区别:
- get一般是用来获取资源,post用来提交数据
- get是将请求数据放在URL之后,用 ? 来区分URL和请求数据,参数之间以&连接,post是将请求数据放在正文里
- 所以get比post安全,效率高
- get提交的数据大小有限制(因为浏览器对URL有限制),post没有
HTTP的状态码
类别 | 原因短语 | |
1xx | 信息性状态码 | 接收的请求正在处理 |
2xx | 成功状态码 | 请求正常处理完毕 |
3xx | 重定向状态码(配合Location使用) | 需要附加操作以完成请求 |
4xx | 客户端错误状态码 | 服务器无法处理请求 |
5xx | 服务器错误状态码 | 服务器处理请求出错 |