定义

HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。
HTTP使用请求-响应的方式进行传输,一个请求对应一个响应,并且请求只能是由客户端发起的。
1.0和1.1的区别
telnet/httpwatche

http2.0:(待学)

多路复用 (Multiplexing)
多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。

HTTP请求

请求行

GET/books/java.html HTTP/1.1请求方式
七种请求方式:POST.GET、HEAD、OPTIONS、DELETE、TRACE、PUT真正使用的时候:POST/GET
GET请求方式和POST请求区别在于请求参数在传递的过程中方式不同
如果是GET提交,请求参数将会附加在请求的URL后面作为请求地址的一部分带到服务器端,可以传输的数据大小有限制一般不允许超过1K.
如果是POST提交,请求参数将会在http请求的实体内容中进行传输,这种方式传输的数据没有大小限制.
利用form表单提交数据时, form表明明确的声明要用POST提交,这是请求参数就是POST提交
除此以外所有方式的请求参数都是GET提交
请求的资源都分的名称
所遵循的协议版本
若干请求头
Accept:**
Accept-Charset : ISo-8859-1Accept-Encoding: gzip,compressAccept-Language: en-us ,zh-cnHost: www.it315.org : 80
If-Modified-Since: Tue,11 Jul 2000 18:23:51 GMTReferer: http: / / www.it315.org/index.jsp
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; windows NT 5.0)Cookie
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
实体内容

HTTP响应

状态行
HTTP/1.1 200 0K
协议版本
状态码—用来表示本次请求的处理结果的代码
200
302
304/307
404
500
image.png
若干响应头
Location: http://www .it315.org/index.jsp
Server:apache tomcat
Content-Eicoding: gzip
Content-Length: 80
Content-Language: zh-cn
Content-Type: text/html; charset=GB2312
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
Refresh: 1;url=http: //www.it315.org
Content-Disposition: attachment;filename=aaa.zip
Transfer-Encoding: chunked
set-Cookie: sS=QO=5Lb_nQ; path=/search
ETag: w/“83794-1208174400000”
Expires : -1
Cache-Control: no-cachePragma: no-cache
Connection: close/Keep-Alive
Date: Tue, 11 Jul 200018:23:51 GMT
实体内容