当前位置: 首页 > Web前端 > HTML

第85-100天《图解HTTP》读书笔记(三)

时间:2023-03-28 18:43:30 HTML

1.向服务器通知意图的HTTP方法(1)GET:获取资源GET方法用于请求访问由URI标识的资源。服务器解析指定资源并返回响应内容。也就是说,如果请求的资源是文本,则原样返回;如果是CGI(CommonGatewayInterface,通用网关接口)之类的程序,会返回执行后的输出结果。请求GET/index.htmlHTTP/1.1主机:www.hackr.jpIf-Modified-Since:2012年7月12日星期四07:30:00GMT响应仅返回2012年7月12日7:30之后更新的内容index.html页面资源。如果没有内容更新,则返回状态码304NotModified作为响应(2)POST:传输实体主体POST方法用于传输实体主体。RequestPOST/submit.cgiHTTP/1.1Host:www.hackr.jpContent-Length:1560(1560bytesofdata)Response返回submit.cgi收到数据的处理结果(3)PUT:以HTTP/为视图传输文件1.1PUT方式本身没有验证机制,任何人都可以上传文件,存在安全问题,所以一般网站不使用该方式。如果配合Web应用的验证机制,或者架构设计采用(4)HEAD:HEAD获取消息头部的方法与GET方法相同,只是消息的主体部分不是回。用于确认URI的有效性和资源更新的日期和时间等。(5)DELETE:删除文件DELETE方法用于删除文件,与PUT方法相反。DELETE方法通过请求URI删除指定的资源。但是HTTP/1.1的DELETE方法本身并没有像PUT方法那样的认证机制,所以一般的网站不会使用DELETE方法。当与Web应用程序的身份验证机制结合使用时,或者当符合REST标准时,它可能仍然可以使用。响应返回状态码204NoContent(例如:html已经从服务器删除)(6)OPTIONS:查询支持的方法OPTIONS方法用于查询请求URI指定的资源支持的方法.请求OPTIONS*HTTP/1.1Host:www.hackr.jp响应HTTP/1.1200OKAllow:GET,POST,HEAD,OPTIONS(返回服务器支持的方法)(7)CONNECT:请求使用隧道协议来连接代理CONNECT方法需要在与代理服务器通信时建立隧道,通过隧道协议实现TCP通信。主要是利用SSL(SecureSocketsLayer,安全套接字层)和TLS(TransportLayerSecurity,传输层安全)协议对通信内容进行加密,然后通过网络隧道进行传输。方法名称区分大小写,因此请小心使用大写字母。2.持久连接节省流量在HTTP协议的初始版本中,每进行一次HTTP通信,都必须断开一个TCP连接。2.1持久连接HTTP/1.1和部分HTTP/1.0提出了持久连接的方法(HTTPPersistentConnections,也称为HTTPkeep-alive或HTTPconnectionreuse)。持久连接的特点是只要任一端没有明确提出断开连接,就会保持TCP连接状态。持久连接的好处是减少了TCP连接重复建立和断开带来的开销,减轻了服务器端的负载。另外,减少开销时间可以让HTTP请求和响应提前结束,从而相应提高网页的显示速度。2.2流水线持久连接使得大多数请求以流水线方式发送成为可能。过去发送一个请求后,需要等待并收到响应,才能发送下一个请求。随着管道技术的出现,可以直接发送下一个请求,无需等待响应。这样就可以同时并行发送多个请求,而不用一个接一个地等待响应。例如,当请求一个包含10张图像的HTML网页时,使用持久连接可以使请求比一张一张地连接更快地完成。另一方面,流水线比持久连接更快。请求越多,时间差越明显。3、使用Cookie进行状态管理Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态。cookie会根据服务器发送的响应报文中一个名为Set-Cookie的头域信息通知客户端保存cookie。当客户端下次向服务器发送请求时,客户端会自动在请求报文中添加Cookie值并发送出去。请求报文(没有Cookie信息的状态)GET/reader/HTTP/1.1Host:hackr.jp*头域没有Cookie相关信息响应报文(服务器生成的Cookie信息)HTTP/1.1200OK日期:周四,2012年7月12日07:12:20GMT服务器:Apache内容类型:文本/纯文本;charset=UTF-8请求报文(自动发送保存的cookie信息)GET/image/HTTP/1.1Host:hackr.jpCookie:sid=1342077140226724最后搭建了《图解HTTP》分享阅读会,有兴趣的小伙伴可以一起阅读(ardenzhaogx)