Web通信
客户在浏览器输入一个有效的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通信的更多相关文章
- JavaScript之web通信
web通信,一个特别大的topic,涉及面也是很广的.因最近学习了 javascript 中一些 web 通信知识,在这里总结下.文中应该会有理解错误或者表述不清晰的地方,还望斧正! 一.前言 1. ...
- 【转】JavaScript之web通信
原文转自:http://cloudbbs.org/forum.php?mod=viewthread&tid=28773&page=1&extra=#pid180304 一.前言 ...
- Web 通信 之 长连接、长轮询(转)
Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强 ...
- Web通信之:长轮询(long-polling)(转)
Web通信之:长轮询(long-polling) “轮询”是个耐人寻味的词,第一次看到它的时候我就直接理解为“轮流查询”了.但是看到了英文才知道这个是网络通信专业的术语.轮询,其实就是一群人在排队买东 ...
- 即时Web通信总结
即时Web通信在一些对数据实时性要求特别严格的应用中十分重要,如监控系统.报价系统.股票交易系统和即时在线聊天应用等,由于http协议设计当初是为了服务器端响应客户端的请求而设计的,只能在客户端主动发 ...
- Web通信中的Get、Post方法
首先我们要了解Tomcat,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选. ...
- [转]Web 通信 之 长连接、长轮询(long polling)
本篇文章转载自Web 通信之长连接.长轮询(longpolling),版权归作者所有. 转者按:随着技术的发展,在HTML5中,可以通过WebSocket技术来完成长连接的开发,虽然如此,本文依然存在 ...
- Web 通信 之 长连接、长轮询(long polling)(转载)
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易 ...
- Web 通信 之 长连接、长轮询(转)
Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强 ...
随机推荐
- C语言学习笔记 (009) - 对函数的进一步讨论
一.给main函数传参: # include <stdio.h> int main(int argc,char **argv){ printf(]); ; } 二.指向函数指针变量的定义 ...
- ubuntu下安装配置minicom(解决默认的端口/dev/tty8,改不过来的问题)
Minicom是linux下串口通信的软件,下面讲下ubuntu Minicom的安装和配置. 安装: sudo apt-get install minicom 或在新立得软件包管理器中搜索“mini ...
- SQL如何获得本季度第一天、一年的第一天、本月的最后一天
nterval 参数,具有以下设定值: 设置 描述 Year yy, yyyy 年 quarter qq, q 季 Month mm, m 月 dayofyear dy, y 一年的日数 Day dd ...
- JPA学习笔记(8)——映射一对多关联关系
一对多关联关系 本文有很多和多对一是一样的,因此不会写得非常具体. 有看不懂的.能够參考JPA学习笔记(7)--映射多对一关联关系 Order实体类 package com.jpa.helloworl ...
- Windows 上 怎么安装 install elasticsearch plugin
D:\elasticsearch-5.2.1\bin>elasticsearch-plugin install file:///D:/elasticsearch -5.2.1/bin/elast ...
- Gradle 1.12用户指南翻译
http://blog.csdn.net/maosidiaoxian/article/category/2219983
- Gitlab Runner的使用(涵盖gitlab-page)
#gitlab-runner 的简单安装和部署##背景 因为公司要使用CI 功能,已经使用gitlab-page的功能能,所以这里记录一下 ###安装步骤: 参考官方文档:https://doc ...
- 实现session(session数据)的共享,解决分布式session共享
为什么要实现共享? 首先我们应该明白,为什么要实现共享,如果你的网站是存放在一个机器上,那么是不存在这个问题的,因为会话数据就在这台机器,但是如果你使用了负载均衡把请求分发到不同的机器呢?这个时候会话 ...
- Java:多线程,CountDownLatch同步器
1. 背景 CountDownLatch类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDown( ...
- 【SSH】Hibernate关联映射
一对一关联映射 一对一主键关联映射 一句话:不加字段.主键既是主键又是外键. 一对一单向主键关联映射 配置: <span style="font-family:KaiTi_GB2 ...