URI与URL的区别?
URL是URI的一种,URI包括URL
URL:Uniform Resource Locator
URI:Uniform Resource Identifier
URL:统一资源定位符
URI:统一资源标识符
URL的格式由三部分组成:
①第一部分是协议(或称为服务方式)。
②第二部分是存有该资源的主机IP地址(有时也包括端口号)。
③第三部分是主机资源的具体地址,如目录和文件名等。
协议/IP/端口号
URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。
http是什么类型协议
应用层协议
关于TCP协议
TCP {Transmission Control Protocol,传输控制协议} 是一种面向链接的、可靠的、基于字节流的传输层通信协议.与之对应的是UDP{用户数据报协议},是不可靠的传输协议
理解TCP协议的三步握手流程
A:我准备好了你准备好了吗?收到请回答
B:收到收到, 我也准备好了,收到请回答
A: 收到收到
理解TCP协议的四步挥手流程
初级
1. Http协议是什么?有哪些特点?
Http协议:超文本传输协议,它定义了基于http客户端访问万维网服务器的请求规则,基于tcpip的应用层协议
特点:
- 简单快捷
客户端向服务器请求时,只需传送请求方法和路径。- 灵活
HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记- 无状态
HTTP是无状态协议。无状态是指协议对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面不需要之前的信息时它的应答就较快。- 无连接
无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户的应答后,即断开连接。采用这种方式节省传输时间。(http1.1开始有改动)
2. 常见的HTTP方法有哪些?使用场景分别是什么?
GET 读取
1. GET/books,列出所有图书
2. GET /books/10, 获取10号图书详细信息
POST 新建
1. POST/books 创建一本书
PUT 更新
1. PUT /books/ 批量更新
2. PUT /books/10, 更新10号图书
DELETE 删除
1. DELETE /books/ 批量删除
2. DELETE /books/10, 删除10号图书
PATCH 更新,局部更新
1. PATCH /books/10,更新10号图书
OPTIONS 询问支持的方法
OPTIONS方法用来查询针对请求URI指定的资源支持的方法
HEAD 获得报文首部
和get方法一样只是不获得报文主体,用于确认URI的有效性及资源更新的日期时间等
TRACE 追踪路径
3. GET与POST有什么区别?
.表面区别:
1.GET请求把参数放在URL中,POST通过request body传递参数。
2.GET在浏览器回退时是无害的,而POST会再次提交请求
3.GET请求会被浏览器主动cache,而POST不会,除非手动设置.
4.GET请求只会进行url编码,而POST支持多种编码方式
5.GET请求参数会被完整保留在浏览器历史记录里,而 POST中的
参数不会被保留
6.GET请求在url中传送的参数是有长度限制的,而POST没有
7.GET比POST更不安全,因为参数直接暴露在URL上,所以不能用
来传递敏感信息
.实际上:GET和POST没有区别
1.你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。
2.但是如果你用GET服务,在request body偷偷藏了数据,不同服务
器的处理方式也是不同的,有些服务器会帮你卸货,读出数据,有
些服务器直接忽略,所以,虽然GET可以带request
body,也不能保证一定能被接收到哦。
3.GET和POST还有一个重大区别,简单的说:GET产一 个TCP数据包,
POST产生两个TCP数据包.
4.详细的说:对于GET方式的请求,浏览器会把HTTP header和data一并
发送出去,服务器响应200(返回数据);而对于POST,浏览器先header,
服务器响应100 continue,浏览器再发送200 OK,也就是说GET一次搞
定,POST两次搞定.所以说POST比GET更消耗时间结论
1.GET和POST有语义,不要混用
2.发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境
差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
3.并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次
4. 在HTML的form标签里。method支持哪些类型?
支持GET和POST,如果想使用其他类型可以在value中赋值 例如 value = 'put'
5. 状态码 200 、302、 302、 304、 403、 404、 500 、503分别代表什么?
类别 | 原因短语 | 作用 |
---|---|---|
1xx | 信息性状态码 | 接收的请求正在处理 |
2xx | 成功状态码 | 请求正常处理完毕 |
3xx | 重定向状态码 | 需要进行附加操作 |
4xx | 客户端错误状态码 | 服务器无法处理请求 |
5xx | 服务器错误状态码 | 服务器处理请求出错 |
200 | 请求处理成功 | |
204 | 请求处理成功但没有资源可返回 | |
206 | 对资源某一部分进行请求 | |
301 | 永久重定向 | |
302 | 临时重定向 |
6.web安全中有哪些常见的攻击方式?
- URI和URL的区别?
8.一次完整的Http请求所经历哪些步骤?
中级
高级
OSI的7层模型和TCP/IP4层模型是什么
开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),由国际标准化组织于1984年提出。
osi七层
1.应用层 2.表示层 3.会话层 4.传输层 5.网络层 6.数据链路层 7.物理层
TCP/IP
理解应用层协议是什么
应用层是大多数普通与网络相关的程序为了通过网络与其他程序通信所使用的层。这个层的处理过程是应用特有的;数据从网络相关的程序以这种应用内部使用的格式进行传送,然后被编码成标准协议的格式。每一个应用层协议一般都会使用到传输层协议TCP和UDP协议之一
运行在TCP协议上的协议:
1.HTTP(80端口),主要用于普通浏览。
2.HTTPS(443端口),HTTP协议的安全版本。
3.FTP(20和21端口),由名知义,用于文件传输。
4.POP3(110端口),收邮件用。
5.SMTP(25端口),用来发送电子邮件。
6.SSH(22端口),用于加密安全登陆用。
传输层
解决诸如端到端可靠性(数据是否已经到达目的地?)和保证数据按照正确的顺序到达这样的问题。TCP、UDP都是传输层协议。
网络层
解决在一个单一网络上传输数据包的问题。IP协议是网络层协议。
数据链路层
它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。这个过程能够在网卡的软件驱动程序中控制或者专用芯片中控制。这将完成如添加报头准备发送、通过实体介质实际发送这样一些数据链路功能。另一端,链路层将完成数据帧接收、去除报头并且将接收到的包传到网络层。
网友评论