HTTP(1)
HTTP协议
HTTP是什么
HTTP(全称为"超文本传输协议")是一种应用非常广泛的基于TCP协议的应用层协议。
常见的应用场景:
- 浏览器与服务器之间的交互(访问网站)
- 手机与服务器之间的通信
- 多个服务器之间进行通信
使用Fiddler打开百度网址的请求报文:
GET https://www.baidu.com/index.htm HTTP/1.1
Get是方法名,表示获取;
https://www.baidu.com/index.htm 表示访问的服务器地址和端口号,域名–>IP,HTTPS–>443;
HTTP/1.1 表示协议和版本号。
Host: www.baidu.com 以及下面数行以键值对形式表示的称之为请求报头,键与值用冒号隔开,键值中可以是HTTP规范中的内容,也可以是程序员自定义的内容。
响应报文:
HTTP/1.1 200 OK 是状态行,200是状态码表示成功响应,OK是对状态码的描述
Connection: keep-alive 以及以下数行则为响应报头,和请求报头的格式一样。
在空行之后,代表body正文部分
认识URL
URL(Uniform Resource Locator 统一资源定位符)其实就是我们俗称的"网址"。
互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎样处理它。
认识方法
方法 | 说明 | 支持的HTTP协议版本 |
---|---|---|
GET | 获取资源 | 1.0,1.1 |
POST | 传输实体主体 | 1.0,1.1 |
PUT | 传输文件 | 1.0,1.1 |
DELETE | 删除文件 | 1.0,1.1 |
大部分场景使用的都是GET方法,比如访问一个网站,获取一个图片,只要是获取资源都是GET。
POST指的是要提交一些数据到服务器,比如登录时输入的用户名密码,最终会被提交到服务器。
PUT在一些系统中用来更新数据
DELETE删除数据
如何指定请求的方法?
- 当在浏览器的地址中输入一个URL时并发起访问,发送的全是GET请求
- 通过代码(JavaScript)发送请求,可以指定GET,POST,PUT,DELETE
- 通过HTML中的表单来指定方法名
- 网站加载所需要的一些资源都是用GET方法,比如网站中的图片,样式等等。