HTTP学习笔记
1, HTTP是一个基于请求/响应的,无状态的应用层协议。其底层是TCP协议。
2, 在HTTP V1.0协议中,每一次请求/响应都必须建立和关闭一次网络连接。但是在HTTPV1.1中,每一次HTTP连接建立以后,可以连续进行多次请求和应答,客户端甚至可以发起流水请求。
3, HTTP请求由三部分组成:请求行,消息报头,请求正文
4, 请求行:请求行以方法符号开头,后面跟着请求URI和协议的版本以CRLF作为结尾,以空格分割。例如:GET /index.html HTTP/1.1
目前HTTP请求共支持GET POST DELETE CONNECT HEAD PUT TRACE OPTIONS等方法,区分大小写。
GET方法用于请求 在请求行中标明的URL的信息。
POST方法用于向服务器端发送数据。
HEAD方法通常用来检查超链接的有效性,最近有没有被更新等。
5, GET方法和POST方法的区别:
方法的目的不同:GET用于请求资源,POST用于向服务器输送数据
请求报文的格式不同:GET请求只有请求行,POSTS请求包括三部分:请求头,消息报头,请求正文。
6, 虽然在HTML文档中get方法和post方法中可以不区分大小写,但是在HTTP协议的请求行中,必须区分。
7, 服务器在获取到HTTP请求,并进行解释后会发出HTTP响应。HTTP响应由三部分组成:状态行,消息报头,响应正文。
8, 状态行:由协议版本+文字形式的相应码+Reason-Phrase+CRLF组成
9, 消息报头:包括普通报头,请求报头,响应报头,实体报头。每一个报头域都由名字+“:”+空格+值 组成。其中名字与大小写无关。
10, 在普通报头中,有少数报头域应用于所有请求和相应消息,但并不用于被传输的实体,这些报头域只用于传输的消息。
11, HTTP消息总结:
|
|
HTTP请求 |
HTTP相应 |
|
开始行 |
请求行 |
状态行 |
|
消息报头(可选) |
消息报头 |
消息报头 |
|
消息正文(可选) |
请求正文 |
响应正文 |
不同部分之间换行分割。
2896

被折叠的 条评论
为什么被折叠?



