http协议_请求数据包_get/post

来源:互联网 发布:java数据库编程db 编辑:程序博客网 时间:2024/05/29 17:00

http协议_请求数据包_get/post


1.什么是http协议

    是由w3c制订的一种网络应用层协议,规定了浏览器与web服务器之间如何通信以及相应的数据包的格式。

    1)如何通信

        step1,建立连接

        step2,发送请求

        step3,发送响应

        step4,关闭连接

    2)特点

       一次请求,一次连接。

      即如果浏览器需要发送新的请求,就需要建立新的连接。这样设计,优点是,服务器可以利用有限的连接为尽可

能多的请求服务。


2.数据包的结构

  1)请求数据包

     请求行 (请求方式  请求资源路径  协议类型和版本)

     消息头

       ---是一些键值对(使用": "隔开),表示特定的含义,比如,浏览器可以发送"user-agent"消息头,告诉

服务器,浏览器的类型和版本。

     实体内容

       ---只有当请求方式为post时,实体内容里面才会有数据(请求参数)。

   2)响应数据包

      状态行 (协议类型和版本 状态码  状态描述)

         --200  正确

         --500 系统出错

         --404  找不到对应的资源

     消息头

         --服务器也可以发送一些消息头给浏览器,比如,发送"content-type"消息头,告诉浏览器,服务器返回的数据类型。

     实体内容

         --程序的处理结果,浏览器会解析其中的数据,生成相应的页面。


3.两种请求方式

  1)get请求

     a.哪一些情况下,浏览器会发送get请求

         a1.直接输入某个地址

         a2.点击链接

         a3.表单默认提交的方式

     b.特点

         b1. 会将请求参数添加到请求资源路径的后面,只能提交少量的数据。

         b2.会将请求参数显示在浏览器地址栏,不安全。

     注:

        比如路由器就会记录包含了请求参数的请求地址。

  2)post请求

     a.哪一些情况下,浏览器会发送post请求设置表单method="post"

     b.特点

        b1.会将请求参数添加到实体内容里面,可以提交大量的数据。

        b2.不会将请求参数显示在浏览器地址栏,相对安全
    注:

        不会将请求参数加密。

  3)使用场景

    get:在浏览器向服务器索取(查询)数据时。

    post:在浏览器向服务器提交数据时。



0 0