搜集了一下网上的资源和自己看过的一些书,小小总结了一波HTTP,现在也只是很肤浅的了解,期望以后深入理解后能写出更有营养的笔记。 HTTP协议的主要特点 + 支持客户/服务器模式。 + 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 + 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 + 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 + 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 HTTP状态码 + 1xx Informational(信息性状态码) 接收的请求正在处理 + 2xx Success(成功状态码) 请求正常处理完毕 + 3xx Redirection(重定向状态码) 需要进行附加操作以完成请求 + 4xx Client Error(客户端错误状态码) 请求包含一个语法错误或不能完成,服务器无法处理请求 + 5xx Server Error(服务器错误状态码) 服务器执行一个完全有效请求失败 详情如下↓ 100——客户必须继续发出请求 101——客户要求服务器根据请求转换HTTP协议版本 200 OK——请求成功 201——提示知道新文件的URL 202——接受和处理、但处理未完成 203——返回信息不确定或不完整 204 No Content——请求收到,但返回信息为空 205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件 206——Partial Content服务器已经完成了部分用户的GET请求 300——请求的资源可在多处得到 301 Moved Permanently——永久性重定向。表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI 302 Found——临时性重定向。表示请求的资源已被分配了新的URI,希望用户本次能使用新的URI访问 303 See Other——建议客户访问其他URL或访问方式 304 Not Modify——客户端已经执行了GET,但文件未变化,直接使用客户端未过期的缓存 305——请求的资源必须从服务器指定的地址得到 306——前一版本HTTP中使用的代码,现行版本中不再使用 307 Temporary Redirect——申明请求的资源临时性删除 400 Bad Request——错误请求,如语法错误 401 Unauthorized——请求授权失败 402——保留有效ChargeTo头响应 403 Forbidden——请求不允许 404 Not Found——没有发现文件、查询或URl 405——用户在Request-Line字段定义的方法不允许 406——根据用户发送的Accept拖,请求资源不可访问 407——类似401,用户必须首先在代理服务器上得到授权 408——客户端没有在用户指定的饿时间内完成请求 409——对当前资源状态,请求不能完成 410——服务器上不再有此资源且无进一步的参考地址 411——服务器拒绝用户定义的Content-Length属性请求 412——一个或多个请求头字段在当前请求中错误 413——请求的资源大于服务器允许的大小 414——请求的资源URL长于服务器允许的长度 415——请求的资源不支持请求项目格式 416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求 也不包含If-Range请求头字段 417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下 一级服务器不能满足请求 500 Internal Server Error——服务器产生内部错误 501——服务器不支持请求的函数 502 Bad Gateway——服务器暂时不可用,有时是为了防止发生系统过载 503 Server Unavailable——服务器过载或暂停维修 504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长 505——服务器不支持或拒绝支持请求头中指定的HTTP版本 |