一、HTTP的请求报文格式:
HTTP的请求报文内容包括:
请求行(request line)、请求头部(header)、空行 和 请求数据(request data) 四个部分组成。
请求行主要包括:请求方法、URL、协议版本
请求头部包括:各类配置信息的key-value值
二、HTTP响应报文格式:
HTTP的响应报文内容包括:
状态行、响应头、空行、数据(响应体)四个部分组成。
状态行主要包括:协议版本、状态码、状态值
响应头主要包括:各类配置信息的key-value值
三、响应报文的状态码与状态值
HTTP状态码及其含义如下表:
状态码 | 类别 | 含义 |
---|---|---|
1XX | 信息性状态码 | 接收的请求正在处理 |
2XX | 成功状态码 | 请求正常处理完毕 |
3XX | 重定向状态码 | 需要附加操作以完成请求 |
4XX | 客户端错误状态码 | 服务器无法处理请求 |
5XX | 服务器错误状态码 | 服务器处理请求出错 |
常见的HTTP状态码:
状态码 | 状态值 | 含义 |
---|---|---|
100 | Continue | 表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应 |
200 | OK | 成功 |
301 | Moved Permanently | 永久性重定向 |
302 | Found | 临时性重定向 |
400 | Bad Request | 请求报文中存在语法错误 |
404 | Not Found | |
500 | Internal Server Error | 服务器正在执行请求时发生错误 |
503 | Service Unavailable | 服务器暂时处于超负载或正在进行停机维护,现在无法处理请求 |
四、URL与URI的区别
URL :统一资源定位符
URI :统一资源标识符
URL是URI的一个子集
URL:以路径的方式标出某一资源的所在位置,如:中国湖北省武汉市武昌区XX街道XX小区XX单元XX号李小明
URI:以某个具体数字表征某个资源,如人的身份证号。
五、GET与POST的区别:
GET 请求指定的页面信息,并返回实体主体。HEAD 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
GET | POST |
---|---|
常用于取回数据 | POST用于提交数据 |
GET 方法向 URL 添加数据,URL 的长度是受限制的 | POST无限制 |
GET能被缓存 | POST不能被缓存 |
与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。