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