HTTP是hypertexttransfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程
HTTP1.0客户端与web服务器建立连接后,只能获得一个web资源
HTTP1.1允许客户端与web服务器建立连接后,在一个连接上获取多个web资源
问题:
①访问1.html 拿到代码 ②浏览器解析代码 访问1.jpg③浏览器解析代码 访问2.jpg④浏览器解析代码 访问3.jpg
所以要想提升服务器性能,就应该减少HTTP请求数GET /30Day/1.html HTTP/1.1 //请求行用于描述客户端的请求方式、请求的资源名称,以及使用的HTTP协议版本号
Accept: */* /* 若干消息头
Accept-Language: en-us 消息头用于描述客户端请求哪台主机
Connection: Keep-Alive 以及客户端的一些环境信息等
Host: localhost
Referer: http://localhost/links.asp
User-Agent: Mozilla/4.0
Accept-Encoding:gzip, deflate */
请求行 请求头 请求体
常用请求方式:GET POST没有设置默认是GET 有密码或上传较大数据应用POST
一个状态行、若干消息头、以及实体内容
举例:
HTTP/1.1 200 OK //状态行用于描述服务器对请求的处理结果。
Server: Microsoft-IIS/5.0 /*消息头用于描述服务器的基本信息
Date: Thu, 13 Jul 2000 05:46:53 GMT以及数据的描述,服务器通过这些
Content-Length: 2291 数据的描述信息,可以通知客户端
Content-Type: text/html如何处理回送的数据
Cache-control: private */
html css jsp mp3 jpg avi // 实体内容 服务器向客户端回送的数据
状态码
100 ~ 199 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200 ~ 299 表示成功接收请求并已完成整个处理过程,常用200
300 ~ 399 为完成请求,客户需进一步细化请求,常用302、307和304
302 307 跳转 用来做请求重定向 304 让浏览器拿缓存
400 ~ 499 客户端的请求有错误,常用404
500 ~ 599服务器端出现错误,常用500