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 片段标识符