在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和server之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是怎样利用http协议去完毕通信的。

(一)通讯过程

1:浏览器建立于Webserver的连接---->2:浏览器将请求数据打包(即请求数据包),并发送到server--->3:server将处理结果打包(响应数据包),发给浏览器-->4:关闭连接

注意:每次请求都须要又一次建立连接

(二):数据格式

请求数据包:1:请求行:请求方式+请求资源路径+协议描写叙述。比如:GET/image/http.png HTTP/1.1  即为从image文件夹下请求http.png这个文件

2:消息头:通过一些键值对,浏览器向server提供浏览器的类型和版本号

3:实体内容:假设请求方式为post,会把请求參数加入到实体内容里面,假设是get请求会把请求參数加入到请求资源路径的后面。

响应数据包:1:状态行:协议描写叙述+状态行+状态码

2:响应头:server会返回给浏览器一些信息,包含编码格式等

3:实体内容:返回的处理结果

(三)请求方式

经常使用的请求方式是get和post,仅仅少眼下我仅仅使用这两种方式

get请求: get请求会把请求内容加入到请求资源路径后面,而由于请求资源路径的长度就是浏览器地址栏最大同意字符数,所以get请求可提交的数据很少,并且请求内容都                      显示在地址栏里,存在安全问题

那什么时候使用get请求呢?当直接在地址栏里输入地址,或者使用超链接都是使用get请求,表单提交的默认提交方式也是get提交

post请求:post请求会把请求加到实体内容里,所以能够请求大量数据,同一时候不会显示在地址栏里,所以相对安全。

当设置表单的提交方式为post时,会使用post请求;在Ajax提交中,设置提交方式为post,也是使用post提交。

玩转Web之servlet(四)---B/S是怎样使用http协议完毕通信过程的的更多相关文章

  1. 玩转Web之servlet(四)---B/S是如何使用http协议完成通信过程的

    在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和服务器之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是如何利用http协议去完成通信的. (一)通讯过程 1:浏 ...

  2. 玩转Web之servlet(一)---怎样创建一个servlet

    Servlet概念:servlet就是用java编写的服务器端的小程序,用来完成下B/S架构(即浏览器和服务器架构)下客户端请求的响应处理. servlet通常在容器中运行Tomcat是常见的serv ...

  3. 玩转Web之servlet(三)---一张图看懂B/S架构

    学WEB, 首先 要明确B/S架构,本文将简单说一下小编的愚见,若有不当,欢迎大家指正. 首先,什么是B/S架构?B/S是Broweser/Server的缩写,即浏览器/server模式,简单说就是c ...

  4. 玩转web之servlet(六)---session介绍及简单使用(登录验证中保存信息)

    在浏览器与服务器进行交互时,往往需要把涉及到的一些数据保存下来,这时就需要使用cookie或session进行状态管理. 这篇文章先来说说session怎么用,首先在servlet中创建一个sessi ...

  5. 玩转Web之servlet(五)---- 怎样解决servlet的线程安全问题

    servlet默认是存在线程安全问题的,但是说白了,servlet的线程安全问题实际上就是多线程的线程安全问题,因为servlet恰巧是一个多线程才会出现安全性问题. 浏览器每次通过http协议去提交 ...

  6. 玩转Web之servlet(二)---servlet常见错误

    1>403:tomcat发生错误 2> 404 :意思是服务器依据请求资源路径,找不到对应的资源        解决:1.依据http://localhost:8080/Web工程名/ur ...

  7. SpringBoot系列教程web篇Servlet 注册的四种姿势

    原文: 191122-SpringBoot系列教程web篇Servlet 注册的四种姿势 前面介绍了 java web 三要素中 filter 的使用指南与常见的易错事项,接下来我们来看一下 Serv ...

  8. java web学习总结(四) -------------------HTTP协议

    一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...

  9. Java Web之Servlet

    Servlet参考文献: 1.http://www.cnblogs.com/luoxn28/p/5460073.html 2.http://www.cnblogs.com/xdp-gacl/p/376 ...

随机推荐

  1. String、StringBuffer和StringBuilder

    一.String和StringBuffer String类型和StringBuffer类型的主要性能差别事实上在于String是不可变的对象,因此在每次对String类型进行改变的时候事实上都等同于生 ...

  2. std::list.pop_back() 弹空了列表导致的崩溃

    core文件输出: (gdb) bt # # ) at xxxxx/sql/signal_handler.cc: # <signal handler called> # # # # # 0 ...

  3. poj2096--Collecting Bugs(可能性dp第二弹,需求预期)

    Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 2678   Accepted: 1302 ...

  4. 利用Ring Buffer在SQL Server 2008中进行连接故障排除

    原文:利用Ring Buffer在SQL Server 2008中进行连接故障排除 出自:http://blogs.msdn.com/b/apgcdsd/archive/2011/11/21/ring ...

  5. Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色的散步路径

    获得所述路径之后.我们将能够使根据的步行路径的作用,当您点击gobutton什么时候.我们呼吁player的startGo()办法.传入的参数是保存路径2一维数组 void GameBaseScene ...

  6. JavaScript事件收集

    1. onabort . 2. onactivate 当对象设置为活动元素时触发. 3. onafterprint 对象所关联的文档打印或打印预览后马上在对象上触发.   4. onafterupda ...

  7. C和指针 (pointers on C)——第十章:结构和联合(下一个)锻炼

    //1.本章只为了刷存在演习.. . typedef struct phone { char * quhao; char * jiaohuantai; char * zhanhaoma; }; typ ...

  8. 【原】谈谈promise

    最近在看<你不知道的javascript中卷>,发觉作者花了基本一半的篇幅去讲异步和promise,觉得有必要总结一下. 其实本文的目的是想手写一个Promise的,无奈总结着总结着发觉篇 ...

  9. winmd文件和dll文件的区别

    今天在研究一个二维码项目,用到一个第三方组件 ZXing,因为做的是Windows应用商店程序,应用商店程序是可以引用winmd文件也可以引用dll文件,但是这两种文件ZXing都提供了,最后和同事讨 ...

  10. ASP.NET MVC4实现URL伪静态

    1.在Web.config添加节点配置: <system.webServer> <modules runAllManagedModulesForAllRequests="t ...