程序员

HTTP简介

2020-07-09  本文已影响0人  历十九喵喵喵

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中

上一篇 下一篇

猜你喜欢

热点阅读