B/S网络架构的核心是HTTP协议,掌握HTTP协议对一个从事互联网工作的程序员来说是非常重要的。
要理解HTTP协议,最重要的就是要熟悉HTTP协议中的HTTP Header。
HTTP Header控制着互联网上成千上万的用户的数据的传输。
最关键的是,它控制着用户浏览器的渲染行为和服务器的执行逻辑。
例如,当服务器没有用户请求的数据时就会返回一个404状态码,告诉浏览器没有要请求的数据,通常浏览器就会展示一个非常不愿意看到的该页面不存在的错误信息。
下面来根据表格来了解常见的HTTP请求头、响应头以及状态码。
常见的HTTP请求头
常见的HTTP响应头
请求头和响应头,一般的浏览器进入开发者工具,监听网络都能看到的。
例如:
在(Firefox)火狐浏览器下,
首先:
然后:
再:
最后:看看响应头
请求头就在下面。
要看一个HTTP请求的请求头和响应头,可以通过很多浏览器插件来看,在Firefox中有Firebug和HttpFox,Chrome自带的开发工具也可以看到每个请求的请求头信息(可用F12快捷键打开),IE自带的调试工具也有类似的功能。
HttpFox:
火狐上安装HttpFox后,打开的快捷键:ctrl+shift+F2.
然后启动监听;
常见的HTTP状态码
对于状态码,可以这么理解,便于记忆。
2xx(成功)2开头的状态码:
用于表示服务器已成功处理了请求的状态代码。
3xx(已重定向)3开头的状态码:
要完成请求,您需要进一步进行操作。通常,这些状态代码是永远重定向的。
Google 建议每次请求时使用的重定向要少于 5 个。
4xx(请求错误)4开头的状态码:
这些状态代码表示,请求可能出错,已妨碍了服务器对请求的处理。
5xx(服务器错误)5开头的状态码:
这些状态代码表示,服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
参考文献-《深入分析Java Web技术内幕》
1.3章节