一、     HTTP协议简介

1、http协议是基于请求响应模式的协议,客户端发送一个请求(此请求用http协议进行包装),服务器端经过处理后发送给客户端(也用http协议进行包装)。此协议是以tcp/ip为基础的,现在广泛使用的是1.1版本

2、http请求(request)

A:请求方法/URL/版本

B:请求头

C:请求正文(注:请求头与请求正文之间是一行空格,表示请求头已经完毕)

D:在这里还要详细讲一下关于http协议中的用于请求的get()何post()方法

1>.HTTP协议的格式:为了理解两者在传输过程中的不同,我们先看一下HTTP协议的格式:  HTTP请求:

<request line> //用来说明请求类型(主要说明是get()还是post()方法)、要访问的资源以及使用的HTTP版本
<headers> //紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息
<blank line> 中间的空行
[<request-body>]//请求正文添加任意的其他数据[

2>下来以用httplook这个软件截取的实例详细说明

Get实例:

GET /books/?sex=man&name=Professional HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive

Post实例

POST / HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive
     (----此处空一行----)
name=Professional%20Ajax&publisher=Wiley

注意:两者url放置的区别

3>HTTP-GET和 HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。每个HTTP-GET和HTTP- POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。
  HTTP-GET以使用MIME类型application/x-www-form-urlencoded的urlencoded文本的格式传递参数。 Urlencoding是一种字符编码,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"%20"。附加参数还能被认为是一个查询字符串。(GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接;例如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。)
 4> 与HTTP-GET类似,HTTP-POST参数也是被URL编码的。然而,变量名/变量值不作为URL的一部分被传送,而是放在实际的HTTP请求消息内部被传送。

(1)   get是从服务器上获取数据,post是向服务器传送数据。

(2)   在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。

(3)   对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

(4)   GET方式提交的数据长度受浏览器URL长度的限制,而POST则没有此限制。(特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。)

(5)   安全性问题。正如在(2)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用post为好。

2、http响应(response)

A:协议/状态码/描述

B:响应头

c:响应正文(头与正文之间是一个空行)

关于servlet和jsp的学习总结二(详细)相关推荐

  1. 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/

    javaweb学习总结(二十二)--基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+Ja ...

  2. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  3. javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  4. 转载:javaweb学习总结(二十三)——jsp自定义标签开发入门

    javaweb学习总结(二十三)--jsp自定义标签开发入门 转自:http://www.cnblogs.com/xdp-gacl/p/3916734.html 一.自定义标签的作用 自定义标签主要用 ...

  5. 【Servlet】JSP学习-概念和运行原理

    为什么需要JSP? 与HTML相比:根据后台的业务,可以动态输出HTML,网页内容是可以改变的. 与原生Servlet相比:不需要自己写输出语句resp.getWriter().write(" ...

  6. servlet和jsp学习总结

    一.servletConfig部分 作用: ServletConfig 对象是Servlet的专属配置对象,每个Servlet都单独拥有一个ServletConfig对象,用来获取web.xml中的配 ...

  7. Head first servlet and jsp学习笔记

    学习中遇到的问题:java基础不行,都忘光了. 主要是:继承,接口,多线程,IO.尤其是多线程,在分布式系统中应该使用的比较多 第一章:前言和体系结构 HTTP协议: TCP/IP的上层协议(应用层) ...

  8. servlet学习笔记二

    Servlet 主要内容: 1)表单处理 2)乱码问题 3)页面跳转 4)生命周期 一.表单处理 Servlet获取表单数据 request.getParameter():通过表单参数名获取参数值 r ...

  9. 《Servlet和JSP学习指南》一导读

    前 言 欢迎你阅读本书,其内容涵盖了Servlet 3.0和JSP 2.2方面的技术. Java Servlet技术,或简称Servlet,是Java中用于开发Web应用程序的基本技术.Sun公司于1 ...

最新文章

  1. Intel GPU实现游戏与数据中心
  2. WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口
  3. problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 基本数据结构(二)...
  4. maven 创建module失败 ,异常Unable to read parent POM
  5. 闯荡北京卖枣的临县人:同有一个“红枣美梦”(2张)
  6. 为什么mysql第一步安装_Mysql安装步骤
  7. Android开发之activity跳转页面失败的问题
  8. springboot整合rocketmq_面试官:简单说一下RocketMQ整合SpringBoot吧
  9. Android动态图标包制作教程,安卓手机ico图标制作美化图文教程
  10. 在抖音上,你只要会装穷,会装富,会吹牛逼,会包装自己,会扯淡,那翻身就指日可待了
  11. 通过JCONSOLE监控TOMCAT的JVM使用情况
  12. getResource()和getResourceAsStream以及路径问题
  13. jquery 获取 选中的radio的值
  14. 今天14:00 | NeurIPS 专场四 青年科学家专场
  15. BeagleBone 构建家庭安全系统
  16. pwnable之bof
  17. PDMS二次开发之PML开发一些常见查询语句
  18. Layaair 不规则碰撞检测 UI
  19. Vue中:error ‘XXXXX‘ is not defined no-undef解决办法
  20. 点击菜单更改菜单栏背景图片

热门文章

  1. javax.servlet.Filter详解(二) 转自:http://hi.baidu.com/jxnuywf/blog/item/f3834aee93e2fdf8b2fb95cc.html
  2. 突发!人人影视字幕组14人被抓,用户超800万,涉案金额超1600万!网友炸了:免费的片没了...
  3. ESPG和OGC、SRS、SRID指的是什么
  4. CVPR 2022 | 未知目标检测模块STUD:学习视频中的未知目标
  5. UTF8与GBK字符编码转换
  6. Ceres Solver从零开始手把手教学使用
  7. 【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)
  8. Bailian3255 十进制到六进制【进制转换】
  9. Part1---3.数据库编程与完整性
  10. 如何向 Windows 7 镜像中添加 USB3.0 驱动