客户在浏览器输入一个有效的url地址开始,浏览器会利用socket向url对应的web服务器发送一个TCP请求,这个请求成功一次就需要来回握三次手才能确定,成功以后,浏览器利用socket TCP连接资源向web服务器请求http协议,发送以后就等着Web服务器把Http返回头和Body发送回来,发回来后浏览器关闭Socket连接,然后做Http返回头和Body的解析工作,最后呈现在浏览器上的就是看到的页面了。所有一次完整的Web通信,Tcp连接需要三次握手,也就是来回三次方能确定一个Tcp请求是否成功。然后Tcp关闭来回需要4次才能完成:(1)客户端要求结束数据传输(2)服务器发送确认结束的消息(3)服务器向客户端发送结束Tcp会话的消息(4)客户端发送确认信息给服务器,整个会话结束。

Http响应状态

1.状态代码由3位数字组成,表示请求是否被理解或被满足,状态描述给出了关于状态代码的简短的文本描述。

2.状态代码的第一个数字定义了响应的类别,后面两位数字没有具体的分类,第一个数字有五种可能的取值:
   1xx:指示信息---表示请求已接收,继续处理。
   2xx:成功---表示请求已经被成功接收、理解、接受。
   3xx:重定向---要完成请求必须进行更进一步的操作。
   4xx:客户端错误---请求有语法错误或请求无法实现。
   5xx:服务器端错误---服务器未能实现合法的请求。

状态代码

状态描述

说明

200

OK

客户端请求成功。

201

Created

请求成功且服务器已经创建。

301

Moved Permanent

在响应报文中使用首部“Location:URL”;指定资源现在所在的位置

302

Found

临时重定向

304

Not Modified

可以使用缓存,告诉客户端没有更改资源;条件式请求中使用

400

Bad Request

由于客户端请求有语法错误,不能被服务器理解。

401

Unauthorized

请求未经授权。这个状态代码必须和WWW-Authenticate报送域一起使用。

403

Forbidden

服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因。

404

Not Found

请求的资源不存在,例如,输入了错误的URL。

405

Method Not Allowed

不允许使用此方法请求相应的URL

500

Internal Server Error

服务器发生不可预期的错误,导致无法完成客户端的请求。

502

Bad Gateway

代理服务器从上级收到了一条伪响应

503

Service Unavailable

服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

Web通信的更多相关文章

  1. JavaScript之web通信

    web通信,一个特别大的topic,涉及面也是很广的.因最近学习了 javascript 中一些 web 通信知识,在这里总结下.文中应该会有理解错误或者表述不清晰的地方,还望斧正! 一.前言 1. ...

  2. 【转】JavaScript之web通信

    原文转自:http://cloudbbs.org/forum.php?mod=viewthread&tid=28773&page=1&extra=#pid180304 一.前言 ...

  3. Web 通信 之 长连接、长轮询(转)

    Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强 ...

  4. Web通信之:长轮询(long-polling)(转)

    Web通信之:长轮询(long-polling) “轮询”是个耐人寻味的词,第一次看到它的时候我就直接理解为“轮流查询”了.但是看到了英文才知道这个是网络通信专业的术语.轮询,其实就是一群人在排队买东 ...

  5. 即时Web通信总结

    即时Web通信在一些对数据实时性要求特别严格的应用中十分重要,如监控系统.报价系统.股票交易系统和即时在线聊天应用等,由于http协议设计当初是为了服务器端响应客户端的请求而设计的,只能在客户端主动发 ...

  6. Web通信中的Get、Post方法

    首先我们要了解Tomcat,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选. ...

  7. [转]Web 通信 之 长连接、长轮询(long polling)

    本篇文章转载自Web 通信之长连接.长轮询(longpolling),版权归作者所有. 转者按:随着技术的发展,在HTML5中,可以通过WebSocket技术来完成长连接的开发,虽然如此,本文依然存在 ...

  8. Web 通信 之 长连接、长轮询(long polling)(转载)

    基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易 ...

  9. Web 通信 之 长连接、长轮询(转)

    Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强 ...

随机推荐

  1. 【struts2】<package>的配置

    <package>元素可以把逻辑上相关的一组Action.Result.Intercepter等元素封装起来,形成一个独立的模块,package可以继承其他的package,也可以作为父包 ...

  2. mysql主从复制配置问题

    一,基本步骤 1,创建在主从数据上都创建复制账号,权限选上super, replication slave , replication master(选上这个可以方便从库变成主库): 2,配置主库和备 ...

  3. 输出当前MySQL的环境变量:

    输出当前mysql的环境变量: > MySQL.exe --help >output.txt

  4. 【转】Oracle回收站(recyclebin)

    我们都比较熟悉windows中的回收站,文件删除后放到回收站里还可以再复原.Oracle回收站的原理完全一样,只是实现的细节方面有些差异.另外回收站中只能回收表和相关的对象包括索引.约束.触发器.嵌套 ...

  5. Java Date and Calendar examples

    Java Date and Calendar examples This tutorial shows you how to work with java.util.Date and java.uti ...

  6. office2010激活 错误代码0X8007000D,KMS激活0x8007000D错误解决办法,亲测成功激活

    只针对VL版本 注意:此方法只对VL版本的,或者是MSDN版本通过替换文件转为VL版本的Office2010有效.零售版本的就别指望KMS激活了. 怎么看自己是不是VL版本的,只要看帮助里面激活的地方 ...

  7. CentOS 7 安装java

    我喜欢在centos中安装openjdk版本的java,无他,方便.虽然有一些不同之处,但不影响使用. 1.查询: yum search openjdk ,结果如下: java-1.6.0-openj ...

  8. Oracle 11G 安装图文教程

    Oracle 11G 下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.htm ...

  9. Struts2对值的推断

    目的是想将jsp中的input输入: <input class="inputstyle" type="text" value="<s:pr ...

  10. 转:Math: Math.atan() 与 Math.atan2() 计算两点间连线的夹角

    我们可以使用正切操作将角度转变为斜率,那么怎样利用斜率来转换为角度呢?可以利用斜率的反正切函数将他转换为相应的角度.as中有两个函数可以计算反正切,我们来看一下. 1.Math.atan() Math ...