1、URI(Uniform Resource Identifiery,统一资源标识符)纯粹是一个符号结构.用于指定构成 web 资源的字符串的各个不同部分 .URL 是特殊类型的 URI,它包含了用于查找某个资源的足够信息.其他的 URI,例如: 则不属于 URL,因为它里面不存在根据该标识符来查找的任何数据.这种 URI 称为 URN(通用资源名).HTTP 请求|-客户端通过发送 HTTP 请求向服务器请求对资源的访问|-HTTP 请求由三部分组成:请求行 ,消息报头,请求正文|-请求行:请求行以一个方法符号开头 ,后面跟着请求 URI 和协议版本,以 CRLF 作为结尾,请求行以空格分隔,除
2、了作为结尾的 CRLF 外,不允许出现单独的 CR 或 LF 字符.格式如下:Method Request-URI HTTP-Version /CRLFMethod 表示请求方法,Request-URI 是一个统一资源标识符 ,标识了要请求的资源,HTTP-Version 表示请求的 HTTP 协议版本,CRLF 表示回车换行.例如 GET /form.html HTTP/1.1 (CRLF)方法 作用GET 请求获取由 Request-URI 所标识的资源POST 在 Request-URI 所标识的资源后附加新的数据HEAD 请求获取由 Request-URI 所标识的资源响应消息报头|-
3、GET 方法用于获取由 Request-URI 所标识的资源信息 ,常见的形式是:GET Request-URI HTTP/1.1当我们通过在浏览器地址栏中直接输入网址的方式去访问网页的时候,浏览器采用的就是 GET 方法向服务器获取资源|-POST 方法用于向目的服务器发出请求,要求服务器接受附在请求后面的的数据.POST 方法在表单提交的时候用得较多.|-HEAD 方法与 GET 方法几乎是一样的 ,它们的区别在于 HEAD 方法只是请求消息报头,而不是完整的内容.对于 HEAD 请求的回应部分来说,它的 HTTP 头部中包含的信息与通过 GET 请求所得到的信息是相同的.利用这个方法,不
4、必传输整个资源内容,就可以得到 Request-URI 所标识的资源的信息.这个方法通常被用于测试超链接的有效性,是否可以访问,以及最近是否更新.提示:当我们在 HTML 中提交表单时,浏览器会根据你的提交方法是 get 还是 post,采用相应的在 HTTP 协议中的 GET 或 POST 方法,向服务器发出请求,要注意的是,在 HTML 文档中 ,书写 get 和 post,大小写都可以,但 HTTP 协议中的 GET 和 POST 只能是大写形式.|-HTTP 响应|-在接收和解释请求消息后,服务器会返回一个 HTTP 响应消息|-HTTP 响应由三部分组成:状态行,消息报头,响应正文.
5、|-状态行由协议版本,数字形式的状态代码,及相应的数字描述组成,各元素之间以空格分隔,除了结尾的 CRLF 序列外,不允许出现 CR 或 LF 字符.HTTP-Version Status-Code Reason-Phrase CRLFHTTP-Version 表示服务器 HTTP 协议版本,Status-Code 表示服务器发回的响应代码 ,Reasib-Phrase 表示状态代码的文本描述,CRLF 表示回车换行.HTTP/1.1 200 OK (CRLF)|-状态代码由三位数字组成,表示请求是否被理解或被满足 ,状态描述给除了关于状态代码的简短描述.|-状态代码的第一个数字定义了响应的类
6、别,后面两位数字没有具体的分类,第 1 个数字有五种可能取值 .|-1XX:指示信息 -表示请求已接收,继续处理|-2XX:成功 -表示请求已被成功接收,理解 ,接受|-3XX:重定向 -要完成请求必须完成更进一步的操作|-4XX:客户端错误 -请求语法错误或请求无法实现|-5XX:服务器端错误 -服务器未能实现合法的请求状态代码 状态描述 说明200 OK 客户端请求成功400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解401 Unauthorized 请求未经授权.403 Forbidden 服务器收到请求,但是拒绝提供服务.404 Not Found 请求的资源
7、不存在,例如,输错的 URL500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求.503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常|-响应正文就是服务器返回的资源内容(消息报头和响应正文中间是一个空行,表示消息报头已经结束)HTTP 消息|-HTTP 消息由客户端到服务器的请求和服务器到客户端的响应组成.请求消息和响应消息都是由开始行,消息报头(可选), 空行(只有 CRLF 的行), 消息正文(可选)组成.|-对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行.