这里提一下比较常用且面试常问的两个方法。
GET
当访问 Web 服务器获取网页数据的时候,使用的几乎都是 Get 方法。在请求消息中表明使用Get方法,然后在URI中表明文件名,比如是 /manage/index.html。服务器收到消息后,会打开 /manage/index.html 并读取里面的数据,然后存放于相应消息中并返回给客户端,最后在屏幕中完成呈现。
POST
当我们在购物填写地址信息,或者填写问卷信息的时候,将内容填写到表格中,然后点击提交这个过程,实际上通常就是采用的 POST 方式。这样看来,采用 POST 的方式提交数据,我们需要准备三样东西,分别为:所提供的方法,URL 和服务端。服务器收到请求数据后发送给 URI 所指定的应用程序,然后服务端获取应用程序的执行结果并在响应信息中返回给客户端。
OK,现在我们目标基本上明确了,将各个需要发送的内容组合并发给服务器。服务器进行解析,根据客户端的需求完成使命后将需要反馈的信息存放在响应消息中,那么对于客户端而言,也不知道到底是不是想要的结果。所以,服务端会在响应头中用一个状态码表示操作的结果是成功还是失败,比如 200 表示成功,404 可能为没找到文件。
此时客户端收到了服务端的响应信息,浏览器觉得这太 low 了,给你渲染下并完美的呈现在我们眼前。HTTP 的使命就此完成。
HTTP请求头:保命天子看到这里,我相信大家应该了解了 HTTP 的大概样貌。万事儿都是有原则的,那么请求的也是有格式的。
先写方法,加上空格,然后写上 URI(文件或者程序的路径名),行末尾协商 HTTP 版本号即完成第一行的任务。
第二行为消息头。这一行主要是对第一行内容的进一步补充。比如会告知客户端支持的数据类型、压缩格式,数据有效期等,具体的我放张图,需要的可以去了解下。
第三行为空行,然后加上需要发送的数据,这为消息体。整个消息也就结束。