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

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

原文地址:https://www.cnblogs.com/sydeveloper/p/3713574.html