2018-08-19 (星期日)
HTTP协议:
HTTP/1.0 报文有两种类型:请求和响应.
请求:
request-line headers(0个或有多个) <blank line> body(只对POST请求有效)
request-line 格式:
request request-URI HTTP版本号
支持以下三种请求:
1) GET请求,返回request-URI所指出的任意信息.
2) HEAD请求,类似于GET请求,但是服务器程序只会返回指定文档的首部信息,请求通常被用来测试超文本链接的正确性,可访问性和最近修改.
3)POST请求,用来发送电子邮件,新闻或发送能由交互用户填写的表格,这是唯一需要在请求中发送body的请求.使用POST请求时需要在报文首部Content-Length字段中支出body的长度.
响应:
status-line headers(0个或有多个) <blank line> body
status-line的格式:
HTTP版本号response-code response-phrase
状态码:
1xx 信息型,当前不可用
成功:
200 OK, 请求成功
201 OK, 新的资源建立(post命令)
202 请求被接受,但处理还没完成
204 OK, 但是没有返回信息
重定向:
301 所请求的资源已被指派为新的固定URI
302 所请求的资源临时位于另外的URI
304 文档没有修改(条件GET)
客户差错:
400 错误的请求
401 未被授权;该请求要求用户认证.
403 不明原因的禁止
404 没有找到
服务器差错:
500 内部服务器差错
501 没有实现
502 错误的网关; 网关或上游服务器来的无效相应
503 服务暂时失效