标签:过程 emoji 技术分享 http请求 标示 png 监测 width 动作
想要深入Node,HTTP部分必须要熟悉,那么就要重新填坑这部分的计算机网络知识了
1 输入网址
2 域名解析
2.1 浏览器自身缓存(chrome://net-internals/#dns)
2.2 操作系统自身的dns缓存
2.3 读取本地的host文件
2.4 浏览器发起一个DNS的系统调用(本地主控DNS服务器:宽带运营商服务器查看本身缓存)
2.5 运营商服务器发起一个迭代DNS解析的请求(->根域.com服务器->imooc.com域服务器->运营商服
务器得到(结果)->操作系统内核并缓存->浏览器)
3 浏览器与服务器的web程序tcp链接->三次握手
4 发送http请求
5 服务器处理请求,并将结果返回
6 浏览器根据返回结果进行处理或页面渲染
其中TCP连接
HTTP/1.1
协议中共定义了8种HTTP请求方法,HTTP请求方法也被叫做“请求动作”,不同的方法规定了不同的操作指定的资源方式。服务端也会根据不同的请求方法做不同的响应。
GET
GET
请求会显示
请求指定的资源。一般来说GET
方法应该只用于数据的读取,而不应当用于会产生副作用的非幂等
的操作中。
GET
会方法请求指定的页面信息,并返回响应主体,GET
被认为是不安全的方法,因为GET
方法会被网络蜘蛛等任意的访问。
HEAD
HEAD
方法与GET
方法一样,都是向服务器发出指定资源的请求。但是,服务器在响应HEAD
请求时不会回传资源的内容部分,即:响应主体。这样,我们可以不传输全部内容的情况下,就可以获取服务器的响应头信息。HEAD
方法常被用于客户端查看服务器的性能。
POST
POST
请求会 向指定资源提交数据,请求服务器进行处理,如:表单数据提交、文件上传等,请求数据会被包含在请求体中。POST
方法是非幂等
的方法,因为这个请求可能会创建新的资源或/和修改现有资源。
PUT
PUT
请求会身向指定资源位置上传其最新内容,PUT
方法是幂等
的方法。通过该方法客户端可以将指定资源的最新数据传送给服务器取代指定的资源的内容。
DELETE
DELETE
请求用于请求服务器删除所请求URI
(统一资源标识符,Uniform Resource Identifier)所标识的资源。DELETE
请求后指定资源会被删除,DELETE
方法也是幂等
的。
CONNECT
CONNECT
方法是HTTP/1.1
协议预留的,能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接与非加密的HTTP代理服务器的通信。
OPTIONS
OPTIONS
请求与HEAD
类似,一般也是用于客户端查看服务器的性能。 这个方法会请求服务器返回该资源所支持的所有HTTP请求方法,该方法会用‘*‘来代替资源名称,向服务器发送OPTIONS
请求,可以测试服务器功能是否正常。JavaScript的XMLHttpRequest对象进行CORS
跨域资源共享时,就是使用OPTIONS
方法发送嗅探请求,以判断是否有对指定资源的访问权限。 允许
TRACE
TRACE
请求服务器回显其收到的请求信息,该方法主要用于HTTP请求的测试或诊断。
当然再后来新增了其他方式,用的不多,这里不多介绍
一般是三位数,有1XX,2XX,3XX,4XX,5XX
这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。[4]这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动。
这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。
当且仅当后续的请求所使用的方法是GET或者HEAD时,用户浏览器才可以在没有用户介入的情况下自动提交所需要的后续请求。客户端应当自动监测无限循环重定向(例如:A→B→C→……→A或A→A),因为这会导致服务器和客户端大量不必要的资源消耗。按照HTTP/1.0版规范的建议,浏览器不应自动访问超过5次的重定向。
这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。
如果错误发生时客户端正在传送数据,那么使用TCP的服务器实现应当仔细确保在关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。如果客户端在收到错误信息后继续向服务器发送数据,服务器的TCP栈将向客户端发送一个重置数据包,以清除该客户端所有还未识别的输入缓冲,以免这些数据被服务器上的应用程序读取并干扰后者。
表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。这些状态码适用于任何响应方法。
常见的就200,表示请求已成功,404,Not Found 请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求......等等,具体的特定状态码可直接查文档对比
标签:过程 emoji 技术分享 http请求 标示 png 监测 width 动作
原文地址:http://www.cnblogs.com/zhangmingzhao/p/7571789.html