HTTP协议–听课笔记
概念
HTTP协议,即超文本传输协议(Hypertext transfer protocol),是***浏览器或者其他客户端***(如app)和网站***服务器***之间沟通的协议。
- 默认端口是80
- 协议规则:专注内容本身
特点
- http是无连接的:每次只处理一个请求,处理完成后即断开,可以节省传输时间
- 传输明文内容,安全性比较差
- http是媒体独立的:任何数据都可以通过HTTP发送。
- http是无状态的:对于事务没有记忆能力,这意味着后续需要前面的信息时需要重传,虽然导致每次接送数据量增大,但是应答就比较快。
有请求就会有响应
http请求
GET请求:从服务器获取资源
POST请求:可以在获得资源后附加新的数据(文件上传,填写表单等)
GET请求参数(都是放在URL中的)
URL是文件的网络地址,相当于人的住址
请求的参数一般形式为:
- 网址的后面紧跟着一个问号
- 问好后是一对对参数,形式为参数1=参数1的值
- 多个参数之间用&隔开
请求头
作用:
- 判断请求是否合法
- 判断是否登录过(一般通过Cookie这个特殊的请求头来判断)
一般的请求头有:User-Agent(代表发起访问的是什么浏览器);Cookie(记录了登录信息,或者上次服务端设置的信息);Referer(表示这个网站是从哪里过来的)
请求行:
例如:POST /chapter17/user.html HTTP/1.1
格式:请求方式 资源路径 协议/版本
请求行必须在http请求格式的第一行。
请求报文
- Connection:表示客户端与服务连接类型;(Keep-Alive表示持久连接,close已关闭)
eg:Connection: keep-alive
- Host:请求的服务器主机名
Host: sczpkj.f3322.net:3000
- Content-Length:请求体的长度
http响应
常见状态码:
- 200–请求成功
- 301–网页被转移
- 404–网页不存在
- 500–内部服务器错误
响应头
响应头包含重要信息,如网页的格式,网页的过期时间等
响应的内容
- HTML–表示给人看的页面
- JSON–数据格式,给程序用的,如手机app
- XML–也是数据格式
- 还有图片,样式表等
Content Type
说明网页的内容类型,帮助浏览器决定以什么形式,什么编码读取这个文件
语法格式:
Content-Type:text/html;charset=utf-8
Content-Type:multipart/form-data;boundary=something