揭开HTTP网络协议神秘面纱(2)
2017-03-03 00:00
239 查看
2.简单的HTTP协议
- 请求报文:是由请求方法,请求URI,协议版本,可选的请求首部字段和内容实体构成的。
- 响应报文:基本上由协议版本,状态码(表示请求成功或失败的数字代码),用以解释状态码的原因短语,可选的响应首部字段以及实体主体构成。
HTTP是一种不保存状态的协议,即不保留之前一切的请求或响应报文的信息,为了解决这问题,许多网站引入了Cookie技术,例如:许多登陆网站就是用Cookie技术来保持登陆状态。
告知服务器意图的HTTP方法有以下几个:
- GET:获取资源,如果请求的资源是文本,那就保持原样返回,如果是像CGI(什么是CGI?)那样的程序,则返回经过执行后的输出结果。
- POST:主要用来传输实体的主体,而不是获取响应的主体内容。
- PUT:传输文件,要求请求报文中包含文件内容,但是HTTP/1.1PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,故一般有开发此功能的Web网站都会配合Web应用程序的验证机制,如:REST机制。
- HEAD:不获取返回报文主体部分,而是获取其URI的有效性及资源更新的日期时间等首部字段。
- DELETE:用来删除文件,但是HTTP/1.1Delete方法自身也不带验证机制,任何人都可以删除文件,存在安全性问题,故一般有开发此功能的Web网站都会配合Web应用程序的验证机制,如:REST机制。
- OPTIONS:用来查询针对请求URI指定的资源。
- TRACE:在用其发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端就将该数字减1,当数值刚好减到0时,就停止继续传输,最后接收到请求的服务器端则返回状态码200OK的响应,因此可以查询发送出去的请求是怎样被加工修改的。
- CONNECT:要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信,主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。
HTTP持久连接:keep-alive(持久连接)的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态,好处在于减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载,也减少了开销的那部分时间,是HTTP请求和响应能够更早的结束。
# 管线化技术可以让客户端同时并行发送多个请求,而不需要一个接一个地等待响应。(什么是管线化?)
——————————
HTTP是无状态协议优势在于它减少服务器的CPU及内存资源的消耗,但它不能保持之前的状态进行请求处理,这样需要在登陆认证的Web页面中那个,每次请求 跳转页面都需要再次认证登陆或附上请求认证参数,因此为了解决这个问题,可以引用Cookie技术,该过程如图:


- 请求报文:是由请求方法,请求URI,协议版本,可选的请求首部字段和内容实体构成的。
- 响应报文:基本上由协议版本,状态码(表示请求成功或失败的数字代码),用以解释状态码的原因短语,可选的响应首部字段以及实体主体构成。
HTTP是一种不保存状态的协议,即不保留之前一切的请求或响应报文的信息,为了解决这问题,许多网站引入了Cookie技术,例如:许多登陆网站就是用Cookie技术来保持登陆状态。
告知服务器意图的HTTP方法有以下几个:
- GET:获取资源,如果请求的资源是文本,那就保持原样返回,如果是像CGI(什么是CGI?)那样的程序,则返回经过执行后的输出结果。
- POST:主要用来传输实体的主体,而不是获取响应的主体内容。
- PUT:传输文件,要求请求报文中包含文件内容,但是HTTP/1.1PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,故一般有开发此功能的Web网站都会配合Web应用程序的验证机制,如:REST机制。
- HEAD:不获取返回报文主体部分,而是获取其URI的有效性及资源更新的日期时间等首部字段。
- DELETE:用来删除文件,但是HTTP/1.1Delete方法自身也不带验证机制,任何人都可以删除文件,存在安全性问题,故一般有开发此功能的Web网站都会配合Web应用程序的验证机制,如:REST机制。
- OPTIONS:用来查询针对请求URI指定的资源。
- TRACE:在用其发送请求时,在Max-Forwards首部字段中填入数值,每经过一个服务器端就将该数字减1,当数值刚好减到0时,就停止继续传输,最后接收到请求的服务器端则返回状态码200OK的响应,因此可以查询发送出去的请求是怎样被加工修改的。
- CONNECT:要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信,主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。
HTTP持久连接:keep-alive(持久连接)的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态,好处在于减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载,也减少了开销的那部分时间,是HTTP请求和响应能够更早的结束。
# 管线化技术可以让客户端同时并行发送多个请求,而不需要一个接一个地等待响应。(什么是管线化?)
——————————
HTTP是无状态协议优势在于它减少服务器的CPU及内存资源的消耗,但它不能保持之前的状态进行请求处理,这样需要在登陆认证的Web页面中那个,每次请求 跳转页面都需要再次认证登陆或附上请求认证参数,因此为了解决这个问题,可以引用Cookie技术,该过程如图:


相关文章推荐
- 揭开HTTP网络协议神秘面纱(1)
- 揭开HTTP网络协议神秘面纱系列(三)
- 揭开HTTP网络协议神秘面纱系列(一)
- 揭开HTTP网络协议神秘面纱系列
- 揭开HTTP网络协议神秘面纱系列(二)
- 揭开正则表达式的神秘面纱(http://www.regexlab.com/zh/regref.htm)
- 揭开正则表达式的神秘面纱(转自:http://www.regexlab.com/zh/regref.htm)
- 微软“小冰”网络机器人揭开了人工智能的神秘面纱
- 揭开神经网络加速器的神秘面纱之DianNao
- 揭开神经网络加速器的神秘面纱之DianNao
- 走进网络直播公司 揭开“网络主播”神秘面纱
- 揭开验证码的神秘面纱 http://blog.csdn.net/wwwwenhuan/article/details/7672167
- 链接:揭开神秘面纱 山寨手机制造过程大揭密http://tech.sina.com.cn/mobile/n/2009-02-02/08222784332.shtml
- 4月28--30日:一起去北展揭开电信网络诈骗的神秘面纱
- 揭开正则表达式的神秘面纱
- 揭开正则表达式语法的神秘面纱
- http, mms, Tcp/Ip, Udp, 组播等网络协议优先.
- 揭开正则表达式语法的神秘面纱
- 揭开正则表达式的神秘面纱
- 揭开正则表达式的神秘面纱