http协议相关问题

网络:

Http接口的组成

eg:http://127.0.0.1:80/user.php?act=register

请求协议:http://
IP:127.0.0.1
端口号:80
接口地址:user.php
接口参数:act
参数值:register

 

 

页面输入 url 地址到页面展示过程?

1.在PC浏览器的地址栏输入一串URL,然后按Enter键这个页面渲染出来,这个过程中都发生了什么事?

1、首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);
路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;
ISP缓存:若上述均失败,继续向ISP搜索。
3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5、握手成功后,浏览器向服务器发送http请求,请求数据包。
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、浏览器解码响应,如果响应可以缓存,则存入缓存。
9、 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框。
10、 浏览器发送异步请求。
11、页面全部渲染结束。

 

 

 

 

1、协议:什么叫协议?
约定俗成的规则

 

1.1、什么是Http协议无状态协议?怎么解决Http协议无状态协议?
(1)、无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息
(2)、无状态协议解决办法: 通过1、Cookie 2、通过Session会话保存。

 

1.2、协议的组成
HTTP请求报文与响应报文格式
请求报文包含三部分:
a、请求行:包含请求方法、URI、HTTP版本信息
b、请求头部(headers)字段
c、请求内容实体(body)
响应报文包含三部分:
a、状态行:包含HTTP版本、状态码、状态码的原因短语
b、响应头部(headers)字段
c、响应内容(body)实体

 

2、http 与https的区别?

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
(这个只是默认端口不一样,实际上端口是可以改的)

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议更安全。

 

 

3、cookies机制和session机制的区别?
cookies数据保存在客户端,session数据保存在服务器端;
cookies可以减轻服务器压力,但是不安全,容易进行cookies欺骗;
session较安全,但占用服务器资源
cookies有大小限制,3k,而session无大小限制,但是有超时限制,一般是30分钟

《》《》《》还有token:token可以理解为令牌的意思,api请求时都需要带上token,token一般保存
在cookie或者数据中(信息头)

 

4、http协议有哪几种请求方式?
GET, POST 和 HEAD、OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法

 

5、get和post请求区别?
里面的请求参数
get是获取数据,post是提交数据
GET产生一个TCP数据包;POST产生两个TCP数据包
长的说:
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok
(返回数据)。
也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“
嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

 

6、get请求与post请求的优缺点?
1)get请求请求数据在请求头部 2)有长度限制 3)安全性不高 4)主要向服务器获取数据
1)post请求请求数据在请求体 2)无长度限制 3)安全性高 4) 主要用来向服务器传输数据

 

 

7、HTTP状态码
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

200 请求已成功,请求所希望的响应头或数据体将随此响应返回

200:客户端请求已成功,请求所希望的响应头或数据体将随此响应返回

202:服务器已接受请求,但尚未处理

301:永久重定向,请求的网页已永久移动到新位置
302:临时性重定向
400:客户端请求有语法错误,不能被服务器所理解
305:(使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理
401:请求未经授权,
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,举个例子:输入了错误的URL

500 Internal Server Error //服务器发生不可预期的错误

501 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何
资源的请求。
502 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

 

 

 

8、应用层除了 http协议 还有哪些

 

 

9、https怎么抓包?

 

首先将证书导出到桌面

然后,将证书上传到浏览器

最后,在浏览器打开网页,用fiddler抓包

 

1、下载不了证书?

 

安装fiddlercertmaker

 

检查抓包工具版本是不是最新

 

 

 

 

 

10、什么是DNS?
域名解析服务。将主机名转换为IP地址。如将http://www.cnblogs.com/主机名转换为IP地址:
211.137.51.78

 

 

11、(TCP)三次握手,四次挥手

在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
1、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
2、握手成功后,浏览器向服务器发送http请求,请求数据包。
3、服务器处理收到的请求,将数据返回至浏览器
4、浏览器收到HTTP响应

通俗一点就是:

客户端:你好在家不,有你快递

服务端:在的,送来就行

客户端:OK

四次挥手:请求完了,没数据了就,关闭连接。

 

三次握手
1. 客户端向服务器发送连接请求
2. 服务器接受到请求进行确认,返回确认报文
3. 客户端收到服务器回复最终确认连接

四次挥手
1. 主动方发送报文,告知被动方要断开连接
2. 被动方回复报文,表示已经接收到请求,准备断开
3. 被动方再次发送报文,表示准备处理就绪,可以断开
4. 主动发发送确认报文,断开连接

 

12、常见的 POST 提交数据方式

application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml

 

 

13、OSI七层 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

 

一、 网络七层模型

 

物理层建立维护断开物理连接

 

数据链路层建立逻辑连接进行硬件寻址差错校验

 

网络层逻辑地址寻址,不同网络之间路径选择

 

传输层传输数据的协议TCPUDP)

 

会话层:建立、管理、终止会话

 

表示层数据的指示安全压缩

 

应用层与最终用户的接口。http、https、smtp

 

二、 TCPUDP的区别

 

TCP

UDP

是否连接

面向连接

面向非连接

传输可靠性

可靠

不可靠

应用场合

传输大量处理

少量数据

速度

tcp  族的 

特点: 没有状态  应用层的协议

 14、协议还有那些?

POP3协议:(全名为"Post Office Protocol - Version 3",即"邮局协议版本3")

     是TCP/IP协议族中的一员,本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了ssl加密的POP3协议被称为POP3S。

HTTP协议:(超文本传输协议)

    是互联网上应用最为广泛的一种网络协议。

HTTPS 协议:(Secure Hypertext Transfer Protocol安全超文本传输协议)

    是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。

TCP/IP协议:

    TCP/IP 是基于 TCP 和 IP 这两个最初的协议之上的不同的通信协议的大的集合。

    TCP:传输控制协议,传输效率低,可靠性强

websocket

DNS协议:(域名解析协议)

    DNS是一种用以将域名转换为IP地址的Internet服务

SMTP协议:(简单邮件传送协议)

    Client/Server模式,面向连接

posted @ 2021-08-21 16:40  小迪迪  阅读(122)  评论(0编辑  收藏  举报