HTTP : 超文本传输协议,是 用于从万维网 服务器传输超文本到本地浏览器的传送协议。
HTTP基于TCP/IP通信协议来传递数据
特点
1.支持 客户端/服务器模式
2.简单快速
3.灵活
4.无连接:限制每次连接只处理一个请求。
5.无状态:协议对事务处理没有记忆
请求/响应步骤:
1.客户端连接到 Web 服务器
2.发送 Http 请求
3.服务器接受请求并返回HTTP 响应
4.释放 TCP连接
5.客户端浏览器解析 HTML 内容
常见面试题:
在浏览器地址栏进入带有 HTTP 前缀的 URL ,按下回车后会出现什么经历什么样的流程:
DNS解析
TCP连接
发送 HTTP 请求处理请求并返回 HTTP 报文
浏览器解析渲染页面
连接结束
各种协议和HTTP协议的联系:
主要是TCP/IP和HTTP的关系。
当想要访问一个网址时:
1.先用DNS解析成IP地址
2.HTTP生成HTTP请求报文
3.TCP将报文切割成一份一份报文段,方便传输
4.IP协议一边搜索一边中转
5.到达目标服务器后,TCP再将报文段按序号合并成报文
6.应用层的HTTP再对请求报文的内容进行处理。
HTTP状态码分类:
HTTP状态码由三个十进制数字组成,第一个数字定义了状态码的类型,共分为5 种类型:
常见的HTTP 状态码:
200:请求成功
301:资源被永久 转移到其他 URL
404:请求的资源(页面)不存在
500:内部服务器错误
UPL- 统一资源定位器,是一个网页地址
为什么要了解状态码?
工作中我们需要通过状态码来大致判断出现问题的原因。比如,我们的页面为什么会出现 404 ? 我们学习之后知道,这是相关页面没找到,进而去检查一下页面配置就能解决问题。
Get请求和Post 请求的区别
1.Get请求放在 URL 中, Post 请求放在 报文中。
2.Get 请求用于获取信息,是幂等的且可缓存。POST 用于修改服务器上的数据,非幂等,不可缓存。幂等就是 对数据库的一次操作和多次操作获得的结果是一致的。
3.报文格式上,不带参数时,最大区别就是第一行方法名不同
POST 方法请求报文第一行是这样的 POST /uri HTTP/1.1 \r\n
GET 方法请求报文第一行是这样的 GET /uri HTTP/1.1 \r\n
4.从传输的角度来说,他们都是不安全的,因为 HTTP 在网络上是明文传输的,只要在网络节点上捉包,就能完整地获取数据报文
Cookie 和 Session 的区别
(1)cookie数据存放在客户的浏览器上,session数据放在服务器上
(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
(4)单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
(5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中











网友评论