1. 特点
-
简单快速:客户端向服务端发送请求,只需要请求方法和路径;因为HTTP协议简单,使其服务器 程序规模小,所以通信速度很快
-
灵活:允许传输任意类型的数据对象,Content-Type
-
无连接:限制每次连接只处理一个请求,响应完请求,就断开。 — 节约传输时间
-
无状态:对事物处理没有记忆能力
-
支持B/S和C/S模式
2.URL、URI、URN:
URI:统一资源标识符,用来唯一的标识一个资源
URL:统一资源定位器,不仅标识资源,还可以指明如何定位资源
URN:统一资源命名
http://www.baidu.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
https:HTTP协议
www.baidu.com : 域名
8080:端口
news/index.asp:路径
?------ :参数
#-----: 锚点
3.请求Request
-
请求行
请求类型 GET POST 访问资源 HTTP版本
-
请求头部:说明服务器要使用的附加信息 (User-Agent等)
-
空行:必须要有,即使请求数据为空,也要有空行
-
请求数据(主体)
4.响应Response
-
状态行
HTTP版本号 状态码 1XX::指示信息 表示已接受,继续处理 2XX:成功 表示请求已被成功接受 3XX:重定向 301:永久重定向 302 临时重定向 4XX:客户端错误 表示请求有错误或请求无法实现 5XX:服务器端错误 服务器未能实现合法的请求
-
消息报头:说明客户端要使用的一些附加消息
Date:生成响应的时间 Content-Type:MIME类型 charset:编码格式
-
空行:消息报头后空行必须要有
-
响应正文(服务器返回客户端的文本消息)
5.HTTP请求方法
GET:请求指定的页面信息,并返回实体主体
POST:提交数据并进行处理(提交表单、上传文件),数据包含在请求体中
HEAD:类似GET,不过返回响应没有具体内容,用于获取报头
PUT:修改数据
DELETE:删除数据
CONNECT:可以将连接改为管道方式的代理服务器
OPTIONS:允许客户端查看服务端的性能
TRACE:回显服务器收到的请求,主要用于测试
6.GET和 PSOT区别
-
位置:
GET提交的数据是方在URL之后,
POST提交数据在请求体重, -
提交数据:
GET提交的数据在2kb,
POST提交数据理论无限制 -
安全性
GET会有安全问题 -
获取数据
GET方式需要使用Request.QueryString来取得变量的值,
POST方式通过Request.Form来获取变量的值。
6.工作原理
1、客户端连接服务器
2、发送HTTP请求,建立TCP连接
3、服务器接收请求并返回HTTP响应
4、释放连接TCP连接
5、客户端浏览器解析HTML
(首先解析状态行,然后解析响应头,再就是浏览器读取响应数据HTML
并对其格式化显示)
URL、URI、URN
参考:https://www.cnblogs.com/ranyonsue/p/5984001.html