javaweb基础--HTTP协议
2016-03-27 15:05
323 查看
HTTP请求
一个完整的http请求包括一个请求行、若干请求头和实体内容。
请求行
在请求行中常用的请求方式有:GET和POST
默认情况下浏览器向服务器发送的都是get请求,用户如果想把请求方式改为post,可以通过更改表单中
的提交方式实现。
GET和POST方式的区别:
如果请求方式是GET,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔。
GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。
如果请求方式为POST,则可以在请求的实体内容中向服务器发送数据。
POST方式的特点:传送的数据量无限制。
HTTP请求的细节---请求头
Accept:用于告诉服务器,客户机支持的数据类型。
Accept-Charset:用于告诉服务器,客户机采用的编码
Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式
Accept-Language:客户机的语言环境
Host:客户机通过这个头告诉服务器,想访问的主机名
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)
User-Agent:客户机通过这个头告诉服务器,客户机的软件环境
Cookie:客户机通过这个头可以向服务器带一点数据
Connection:请求完是保持链接还是关闭链接
Date:当前时间值
HTTP响应
一个HTTP响应代表服务器向客户端回送的数据,包括:
一个状态行、若干响应头、以及消息实体。
状态行
格式:HTTP版本号 状态码 原因叙述<CRLF>
状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。如200表示正常链接;302表示访问服务器指定的另一资源(向其他服务器);307或304表示访问缓存;404表示客户端请求有误,在服务器中无该资源;403表示服务器中有该资源,但客户端无访问权限;500表示服务器端出现错误。
HTTP请求中的常用响应头
Location:这个头配合302状态码使用,用于告诉客户机找谁
Server:服务器通过这个头,告诉浏览器服务器的类型
Content-Encoding:服务器通过这个头,告诉浏览器数据的压缩格式
Content-Length:服务器通过这个头,告诉浏览器回送的数据长度
Content-Language:服务器的语言环境
Content-Type:服务器通过这个头,告诉浏览器回送的数据类型
Last-Modified:服务器通过这个头,告诉浏览器放弃资源缓存时间
Refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次
Connent-Disposition:服务器通过这个头,告诉浏览器以下载方式打开数据
Transfer-Encoding:服务器通过这个头,告诉浏览器数据的传说格式
ETag:缓存相关的头
Expires:服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0,则不缓存
Cache-Control:no-chche
Pragma:no-cache
服务器通过以上两个头,也是控制浏览器不要缓存数据
Connection:请求完是保持链接还是关闭链接
Date:当前时间值
一个完整的http请求包括一个请求行、若干请求头和实体内容。
请求行
在请求行中常用的请求方式有:GET和POST
默认情况下浏览器向服务器发送的都是get请求,用户如果想把请求方式改为post,可以通过更改表单中
的提交方式实现。
GET和POST方式的区别:
如果请求方式是GET,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔。
GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。
如果请求方式为POST,则可以在请求的实体内容中向服务器发送数据。
POST方式的特点:传送的数据量无限制。
HTTP请求的细节---请求头
Accept:用于告诉服务器,客户机支持的数据类型。
Accept-Charset:用于告诉服务器,客户机采用的编码
Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式
Accept-Language:客户机的语言环境
Host:客户机通过这个头告诉服务器,想访问的主机名
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)
User-Agent:客户机通过这个头告诉服务器,客户机的软件环境
Cookie:客户机通过这个头可以向服务器带一点数据
Connection:请求完是保持链接还是关闭链接
Date:当前时间值
HTTP响应
一个HTTP响应代表服务器向客户端回送的数据,包括:
一个状态行、若干响应头、以及消息实体。
状态行
格式:HTTP版本号 状态码 原因叙述<CRLF>
状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。如200表示正常链接;302表示访问服务器指定的另一资源(向其他服务器);307或304表示访问缓存;404表示客户端请求有误,在服务器中无该资源;403表示服务器中有该资源,但客户端无访问权限;500表示服务器端出现错误。
HTTP请求中的常用响应头
Location:这个头配合302状态码使用,用于告诉客户机找谁
Server:服务器通过这个头,告诉浏览器服务器的类型
Content-Encoding:服务器通过这个头,告诉浏览器数据的压缩格式
Content-Length:服务器通过这个头,告诉浏览器回送的数据长度
Content-Language:服务器的语言环境
Content-Type:服务器通过这个头,告诉浏览器回送的数据类型
Last-Modified:服务器通过这个头,告诉浏览器放弃资源缓存时间
Refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次
Connent-Disposition:服务器通过这个头,告诉浏览器以下载方式打开数据
Transfer-Encoding:服务器通过这个头,告诉浏览器数据的传说格式
ETag:缓存相关的头
Expires:服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0,则不缓存
Cache-Control:no-chche
Pragma:no-cache
服务器通过以上两个头,也是控制浏览器不要缓存数据
Connection:请求完是保持链接还是关闭链接
Date:当前时间值
相关文章推荐
- BZOJ1834 [ZJOI2010]network 网络扩容(最小费用最大流)
- java 网络编程
- HTTP协议
- 网络属性
- PHP网络编程
- TCP三次握手四次挥手blog.csdn.net/whuslei
- 机器学习-神经网络-手写字体识别
- Android HTTP必知必会
- TCP/IP协议
- 《网络攻防技术与实践》第四周学习总结
- HTTPS原理
- 网络编程----------SOCKET编程实现简单的TCP协议
- servlet错误:HTTP Status 405 - HTTP method GET is not supported by this URL
- 新开博客 http://wylhyz.github.io/
- Spark Streaming连接TCP Socket
- apache2.2服务无法启动发生服务特定错误:1以及输入http://localhost未找到文件
- [有上下界的网络流]
- HTTP协议头部与Keep-Alive模式详解
- 网络时延的几个概念
- 【Unity3D游戏开发】WWW工具类简单的HTTP访问 (三四)