一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET /sample/hello.jsp HTTP/1.1。
Http和Https的区别
- 安全性
建立连接的过程
https:已经建立了TCP连接->客户端发送加密协议和版本->服务端选择加密协议,返回证书->客户端验证证书和法定性->生成随机的密码作,通过证书的公钥加密发送到服务端->服务端解密获取是这个随机密码,使用这个密码加密并传输数据,SSL通信
端口号 80 / 443
- http https
- 需要证书
- 是否加密
什么是Http协议无状态协议
就是每次发送的http请求都是独立的,服务端不知道这个客户端之前是不是发过http,用Cookie保存状态URI和URL的区别
URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
**常用的HTTP方法有哪些
- GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
- POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
- PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
- HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
- DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
- OPTIONS:查询相应URI支持的HTTP方法。
HTTP请求报文与响应报文格式
请求
- Host:请求资源所在服务器
- Accept:可处理的媒体类型
- Accept-Charset:可接收的字符集
- Accept-Encoding:可接受的内容编码
-
通用
Date:创建报文时间
- Connection:连接的管理
- Cache-Control:缓存的控制
-
实体
Allow:资源可支持的HTTP方法
- Content-Type:实体主类的类型
- Content-Encoding:实体主体适用的编码方式
- Content-Language:实体主体的自然语言
- Content-Length:实体主体的的字节数
Content-Range:实体主体的位置范围,一般用于发出部分请求时使用
响应
Accept-Ranges:可接受的字节范围
- Location:令客户端重新定向到的URI
- Server:HTTP服务器的安装信息
Http2.0特点
- 头部压缩
- 异步连接多路复用
- 请求优先级
- 服务器推送流

