HTTP 超文本传输协议 Hyper Text Transfer Protocol
当我们在浏览器的地址栏输入一个地址的时候,就能够访问服务器的某个页面
这个过程本身就是两个应用程序之间的交互,一个应用程序是浏览器,另一个应用程序是服务器。
协议是什么? 协议就是不同的应用程序之间按照事先做好的约定进行的通信。 这样就能互相读懂对方的意思。
浏览器和WEB服务器之间,使用的就是一种叫做HTTP的协议。 这样是BS (Browser Server )架构模型的基础
请求消息
请求消息 由 请求行,请求头部,空行和请求数据4部分组成
1.请求行
格式:请求方式 资源路径 HTTP版本号
举例:GET/test.html HTTP/1.1
请求方式:POST,HEAD,OPTIONS,DELETE,TRACE,PUT
2.请求头
请求头部信息提供了如下信息:
Host: 主机名
User-Agent: 浏览器基本资料
Accept: 浏览器能够识别的响应类型
Accept-Language: 浏览器默认语言
Accept-Encoding: 浏览器能够识别的压缩方式
Referer: 来路页面, /addHero 这个路径是通过addHero.html这个页面跳转过来的。
Connecton:是否保持连接
3.请求数据
post方法中,会把数据以key value形式发送请求
4.空行
发送回车符和换行符,通知服务器以下不再有请求头
响应消息
响应信息由状态行,响应头,响应正文组成
1.状态行
格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
其中,HTTP-Version表示服务器HTTP协议的版本;
Status-Code表示服务器发回的响应状态代码;
Reason-Phrase表示状态代码的文本描述。
HTTP状态码
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
HTTP状态码的英文为HTTP Status Code。状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
- 1xx:指示信息–表示请求已接收,继续处理。
- 2xx:成功–表示请求已被成功接收、理解、接受。
- 3xx:重定向–要完成请求必须进行更进一步的操作。
- 4xx:客户端错误–请求有语法错误或请求无法实现。
- 5xx:服务器端错误–服务器未能实现合法的请求。
2.HTTP响应头
响应头的方法
3.响应正文
如图所示,在响应正文里就会是具体的html内容了。
当然访问不同的页面,就不一定是html,有可能是css, js,甚至图片了。