您的位置:首页 > 理论基础 > 计算机网络

Http协议 数据包结构 及 请求方式

2012-11-08 16:23 411 查看
http(超文本传输协议,hypertext transport protocal)是一种应用层协议,定义了浏览器(也可以是其它程序)与web服务器之间通讯的过程与数据的格式。浏览器与服务器之间的连接,只能处理一次请求,然后立即关闭。这种通讯方式,可以让服务器以有限的资源为更多的客户端服务。

 

http协议数据包的结构:

       1.请求数据包的结构

      
第一部分:请求行(数据包中的一行内容)    [ GET  /  HTTP/1.1]

             请求行包括三部分内容:

             请求方式(get/post)

             请求资源路径(端口号之后的内容,比如/appname/servlet)

             协议的类型与版本

      
第二部分:若干消息头(由W3C定义的一些有特殊含义的键值对)

             消息头的样式,比如:content-type=text/html;

             服务器和浏览器都会遵守这些消息头的约定。

             消息头一般由服务器或者浏览器自动生成,但也可以通过编程的方式生成

      
第三部分:实体内容

             如果请求方式是post方式,请求参数及值会放在这儿。

             如果请求方式是get方式,请求参数与值是包含在请求资源路径里

             

       2.响应数据包的结构:

      
第一部分:状态行

             协议的类型与版本

             状态码(状态码是一个数字,不同的数字代表不同的含义,如:

              500:系统错误,即程序代码有错误

              404:找不到资源,访问路径错误

              200:正确

             状态码的描述

      
第二部分:若干消息头

      
第三部分:实体内容

             服务器返回给浏览器的处理结果

 

get/post请求:

       1.哪一些是get请求

      
在浏览器地址栏直接输入一个地址

      
表单默认的提交方式

      
点击链接

       2.哪一些是post请求

      
给表单设置method="post"

       3.get/post方式的区别

      
get方式会将请求参数及参数值放在请求资源路径里面,携带的数据大小有限制,不适合提交大量的数据;post方式会将请求参数及参数值放在实体内容里面,理论上没有限制,适合大量数据的提交

      
安全上讲,post方式相对安全(因为请求参数及值存放在实体内容里面,而get方式会将请求参数及值显示在浏览器地址栏)。但是要注意,post方式并没有将数据加密。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: