作者:IPIDEA
2020-09-25 15:50:36
通常,Web服务器一直使用指定端口(默认为80端口)监听客户端的请求。请求由客户端发起,创建一个到服务器指定端口的TCP连接。一旦收到请求,服务器会向客户端返回一个状态,比如“HTTP/1.1 200 OK”,以及返回的内容,如请求的文件、错误消息、或者其他信息,这就是服务器端的响应。
一、常见的请求头
GET或POST:请求类型,后接请求资源、协议和版本
Host:主机和端口
Connection:是否使用持续连接
User-Agent:客户端浏览器的名称
Accept:浏览器可接受的MIME类型
Accept-Encoding:浏览器知道如何解码的数据编码类型
Accept-Language:浏览器指定的语言
Accept-Charset:浏览器支持的字符编码
Cookie:保存的Cookie对象
二、响应状态
响应信息的第一行就是响应状态,内容依次是当前HTTP版本号,三位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。状态代码的第一个数字代表当前响应的类型,xx表示两位数字。
a、 1xx消息:请求已被服务器接收,继续处理
b、 2xx成功:请求已成功被服务器接收、理解、并接受
c、 3xx重定向:需要后续操作才能完成这一请求
d、 4xx请求错误:请求含有词法错误或者无法被执行
e、 5xx服务器错误:服务器在处理某个正确请求时发生错误
三、响应头
响应头用于指示客户端如何处理响应体,告诉浏览器响应的类型、字符编码和字节大小等信息。
Allow:服务器支持哪些请求方法(如GET、POST等)
Content-Encoding:文档的编码(Encode)类型。只有在解码之后才可以得到Content-Type头指定的内容类型
Content-Length:内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据
Content-Type:表示后面的文档属于什么MIME类型
Date:当前的时间
Expires:文档过期时间
Refresh:表示浏览器应该在多少时间之后高效管理新文档,以秒计
Server:服务器名称
Set-Cookie:设置与页面关联的Cookie
WWW-Authenticate:客户应该在Authorization头中提供的授权信息类型
四、响应体
响应头之后紧跟着一个空行,然后接响应体。响应体就是Web服务器发送到客户端的实际内容。除网页外,响应体还可以是诸如Word、Excel或PDF等其他类型的文档,具体是哪种文档类型由Content-Type指定的MIME类型决定。