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

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方式并没有将数据加密。

 

你可能感兴趣的:(Http协议 数据包结构 及 请求方式)