HTTP协议 (2)了解请求报文
2016-04-23 15:06
639 查看
之前已经简单的认识了一下HTTP协议
下面就看一下这个协议中一个重要的部分:请求
请求报文属于HTTP报文,是从客户端向服务端发送的请求
请求报文由三部分组成,分别是请求行(开始行),请求头(消息报头),请求正文(通常不用)
请求行也是由三个部分组成:请求方法,请求资源的URL,HTTP版本号
其中GET就是请求方法 ,/就是请求资源的url,HTTP/1.1是HTTP的版本号
常见的HTTP请求方法有这些:
GET:用于获取请求页面的请求信息。
HEAD:服务端不能响应里响应消息主题,通常用来测试服务端是否存活。
POST:向服务端发送大量数据,其中含有请求内容,安全性相对GET要高。
PUT:向服务端发送请求,将请求中的实体存储在请求资源下(文件上传)。
DELETE:向服务端请求删除请求资源(危险,一般不开放)。
TRACE:回显服务端收到的请求。
CONNECT:隧道代理,将服务器作为HTTP代理。
OPTIONS:向服务端发送请求,获取在请求/响应过程中可一使用的功能。
在请求头中是客户端向服务器发送传递请求的附加信息以及自身信息。
上面的请求头中有下面几种消息:
Host:被请求资源的internet主机和端口号。
User-Agent:客户端使用的浏览器,操作系统,版本以及其他信息。
Accept:客户端接收消息的类型。
Accept-Language:客户端支持的语言。
Accept-Encoding:客户端支持的编码格式。
Cookie:服务器与客户端之间传递的状态消息。
Connection:发送指定连接的选项。
除了上述这些,常见的消息还有:
Rerferer:访问当前URL的上一个URL(比较抽象)。
Range:请求实体的部分内容(通常用于多线程下载)。
Accept-Charset:制定客户端接收的字符集。
下面就看一下这个协议中一个重要的部分:请求
请求报文属于HTTP报文,是从客户端向服务端发送的请求
请求报文由三部分组成,分别是请求行(开始行),请求头(消息报头),请求正文(通常不用)
GET / HTTP/1.1 #请求行 Host: www.baidu.com #请求头 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Cookie: BAIDUID=E488017CE899228FF852BB2FA2762A62:FG=1; BIDUPSID=E488017CE899228FF852BB2FA2762A62; PSTM=1461377714; H_PS_PSSID=19003_17745_1434_18280_19781_19804_19806_19808_18559_15037_11966; BD_UPN=13314352; H_PS_645EC=556daOZJ2LejeLXIqU%2F9lyAAdB91FUm5%2FDSGrrkVbrESV9uFGgi7a4PwdfbO0YyMPSFx; BDSFRCVID=iFksJeC62RUdyn6RyrsGuyBx-2KKoWcTH6aoKGNAecjkR56n56F7EG0Pf3lQpYDbei5yogKKymOTHr7P; H_BDCLCKID_SF=tRKe_KDbJK03qRnnbJ5qhRIJbfTMeJQjaIOyB-OSHJOoDDvYQ4R5y4LdjG5NL438aJcNX4ob3-5BE4PzDxRvhp-S3-Aq54Ri32oC0RO_2M_hMRuGjxDbQfbQ0MDe2pojymna0RIaMR7JOpvwhfnxybjW0a62btt_JJ4OVCjP; BD_CK_SAM=1; BDRCVFR[Fc9oatPmwxn]=G01CoNuskzfuh-zuyuEXAPCpy49QhP8; BD_HOME=0 Connection: close
请求行也是由三个部分组成:请求方法,请求资源的URL,HTTP版本号
GET / HTTP/1.1
其中GET就是请求方法 ,/就是请求资源的url,HTTP/1.1是HTTP的版本号
常见的HTTP请求方法有这些:
GET:用于获取请求页面的请求信息。
HEAD:服务端不能响应里响应消息主题,通常用来测试服务端是否存活。
POST:向服务端发送大量数据,其中含有请求内容,安全性相对GET要高。
PUT:向服务端发送请求,将请求中的实体存储在请求资源下(文件上传)。
DELETE:向服务端请求删除请求资源(危险,一般不开放)。
TRACE:回显服务端收到的请求。
CONNECT:隧道代理,将服务器作为HTTP代理。
OPTIONS:向服务端发送请求,获取在请求/响应过程中可一使用的功能。
在请求头中是客户端向服务器发送传递请求的附加信息以及自身信息。
上面的请求头中有下面几种消息:
Host:被请求资源的internet主机和端口号。
User-Agent:客户端使用的浏览器,操作系统,版本以及其他信息。
Accept:客户端接收消息的类型。
Accept-Language:客户端支持的语言。
Accept-Encoding:客户端支持的编码格式。
Cookie:服务器与客户端之间传递的状态消息。
Connection:发送指定连接的选项。
除了上述这些,常见的消息还有:
Rerferer:访问当前URL的上一个URL(比较抽象)。
Range:请求实体的部分内容(通常用于多线程下载)。
Accept-Charset:制定客户端接收的字符集。
相关文章推荐
- tcp 11种状态转换图
- Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)
- 【Linux】tcp缓冲区大小的默认值、最大值
- HTTP请求的TCP瓶颈分析[转]
- 如何使用fiddler抓取https请求(PC和移动端)
- IP/TCP/UDP协议帧格式
- libevent 网络IO分析
- HTTP状态码
- 笑谈贝叶斯网络(干货)上
- 深入剖析/图解HTTP 协议
- 神经网络向量化
- SpringMVC 报错java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path
- Android 开发 Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure th
- linux下网络配置详解
- 在iOS9中 xcode7 网络请求 如图片请求不显示等
- IOS-HTTP协议
- 80端口复用:利用haproxy把http流量和ssh流量分别转发到web服务器和ssh服务器
- Android Volley完全解析(二),使用Volley加载网络图片
- TCP处理第一次连接断开,再次连接处理
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path