http请求报文
http请求报文
HTTP请求由四个部分组成
- 请求行
- 消息报头
- 空行
- 请求正文
请求行:Method request-URI HTTP-Version CRLF
method:表示请求方法
Request-URI:统一的资源标识符
HTTP-Version:表示请求的HTTP协议版本
CRLF:表示回车和换行
请求头部: 允许客户端传递关于自身的信息和希望的响应形式
空行:表示请求头结束,请求正文开始
请求正文(只有post请求时才会由请求正文)
get方法:提交数据时,参数会作为url的一部分发送给服务器
post方法:发送的数据在请求体中
http响应报文
HTTP响应由四个部分组成
- 状态行
- 消息报头
- 空行
- 响应正文
状态行:
[HTTP-Version] [Status-Code(状态码)] [Reason-Phrase(原因)] [CRLF]
其中:
状态响应代码由3个数字组成。第一个数字定义了响应的类别:
如:
1xx:指示信息 表示请求已经接收,继续处理
2xx:成功 表示请求已经被成功接收
3xx:重定向 要完成请求必须进一步操作
4xx:客户端错误 有错误语法,或者请求无法实现
5xx:服务器端错误 服务器未能实现合法请求
常见响应状态码:
200 ok
400 bad request 客户端有语法错误
401 Unauthorized 未经授权
403 Forbidden 服务器端收到请求,但拒绝提供服务
404 请求资源不存在/输入了错误的url
500 Internal Server Error 服务器发生不可预期的错误
503 服务器当前不能处理客户端的请求,一段时间后可能恢复正常
URL :统一资源定位符(也就是常说的网址)
一个完整的URL包含以下部分
http://user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1
http:// 协议方案名
user:pass 登录信息(认证)
www.example.jp 服务器地址
80 端口号
/dir/index.htm 带层次的文件路径
uid=1 查询字符串
ch1 片段标识符