【JAVAWEB】--HTTP协议GET和POST请求

来源:互联网 发布:淘宝ntf鞋店靠谱吗 编辑:程序博客网 时间:2024/05/19 06:15

*************************************************************************************************************************************************************************************

       HTTP协议是WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循的规则。全称是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议集中的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。

       HTTP协议的版本HTTP/1.0、HTTP/1.1、HTTP-NG。

       HTTP的会话方式:浏览器与服务器的连接过程是短暂的,每次连接只处理一个连接和响应。对每一个页面的访问,浏览器与服务器都要建立一次单独的连接。

 浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。

      HTTP请求消息:由一个请求行、若干消息头、以及实体内容组成,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开

      HTTP响应消息:由一个状态行、若干消息头、以及实体内容组成,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。响应消息的实体内容就是网页问价的内容,也就是在浏览器中使用查看源文件的方式所看到的内容。

      一个使用GET方式的请求消息中不能包含实体内容,只有使用POST、PUT和DELETE方式的请求消息中才可以包含实体内容。

      接下来创建一个简单的servlet并访问:

       
package com.zhao.javaweb.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;public class LoginServlet implements Servlet{@Overridepublic void destroy() {System.out.println("destroy...........");}@Overridepublic ServletConfig getServletConfig() {System.out.println("getServletConfig...........");return null;}@Overridepublic String getServletInfo() {System.out.println("getServletInfo...........");return null;}@Overridepublic void init(ServletConfig arg0) throws ServletException {System.out.println("init...........");}@Overridepublic void service(ServletRequest servletRequest, ServletResponse response)throws ServletException, IOException {String user = servletRequest.getParameter("user");String password = servletRequest.getParameter("password");System.out.println("user......"+user);System.out.println("password......"+password);HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest ;String method = httpServletRequest.getMethod();System.out.println("method......"+method);String uri = httpServletRequest.getRequestURI();System.out.println("uri......"+uri);String queryString = httpServletRequest.getQueryString() ;System.out.println("queryString......"+queryString);String servletPath = httpServletRequest.getServletPath() ;System.out.println("servletPath......"+servletPath);PrintWriter printWriter = response.getWriter() ;printWriter.write("helloworld...to screen");}public LoginServlet() {System.out.println("LoginServlet...........");}}
       
                       loginServlet                com.zhao.javaweb.servlet.LoginServlet        1                        loginServlet                /login        

       
Insert title here
user:pass:

         

        

       

        

      http有两种请求方式,post请求和get请求:

      post请求参数会封装在方法体中,传送的参数数量几乎没有限制;

      主要用于向WEB服务器端程序提交FORM表单中的数据,form表单的method为post;

      而get请求会拼接在url的尾部,中间用问号连接;

      在浏览器地址栏中输入某个URL地址或单击网页上的一个超链接时,浏览器发出的http请求的方式为GET;

      传送的数据量是有限制的,一般在1KB以下。

      上面列出的请求方式即为post请求,下面再看看get请求:

           

      这就是HTTP协议啦!!!

         

*************************************************************************************************************************************************************************************