HTTP基础知识
HTTP是超文本传输协议的简称,是一个无状态协议,是WEB应用的核心,HTTP由客户端程序和服务器程序两部分程序实现,即基于C/S模型,两者之间通过HTTP报文进行会话。
请求和响应
HTTP采用请求/响应模型,消息分为:请求和响应。HTTP使用端口发送和接收消息,端口是协议发送和接收数据的信道。
HTTP请求
请求消息包括:
1.请求行:包括方法、URL和HTTP协议版本;
2.头信息:包括Host头指示客户端请求的主机,Accept头提供有关客户端可以接受的MIME类型列表,头信息后发送一空行,表示请求消息结束。
请求消息经服务器处理后生成相应的响应消息。
HTTP响应
响应消息包括:
1.状态行:第一行为状态行,HTTP/1.2表示HTTP版本号,200为状态码,表示成功。
2.头信息:日期,请求消息正文的长度和请求正文的类型等信息。
状态码
HTTP状态码表示网页服务器HTTP响应状态的三位数字代码。
第一个数字代表了响应的五种状态之一。
1xx消息:代表请求已被接受,需要继续处理;
2xx成功:代表请求已成功被服务器接收,理解并接受,如200表示请求成功;
3xx重定向:代表需要客户端采取进一步的操作才能完成请求,如对于搜索引擎比较友好的301跳转;
4xx请求错误:代表客户端可能发生了错误,妨碍服务器的处理,除非响应的是一个HEAD请求,否则,服务器就应该返回一个解释当实体,以及这是临时的还是永久性的状况,如:404:请求的资源不存在或者未被服务器发现;
5xx服务器错误:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。
更多状态码访问链接