• 在线客服

天津北大青鸟培训学校

java工程师 net工程师 数据库工程师

机构课程咨询服务:
691355715400-666-4820

前端网络知识点总结

前端网络知识点总结

  HTTP


  1、什么是TCP/IP


  不同的硬件、操作系统之间进行通信,需要一种规则,我们把这种规则称做,网络传输的各个阶段有不同的,这些的集合总称为TCP/IP。http是TCP/IP的子集。


  2、TCP/IP分层及各层的作用?


  分为四层:应用层、传输层、网络层、链路层。


  应用层:http属于这一层,在这一层根据http生成针对目标服务器的http请求报文,服务器端根据http解析报文。


  传输层:TCP属于这一层,在这一层将根据TCP将http的请求报文分割成报文段,在服务器端会根据TCP合并报文段。建立和断开TCP连接的过程就是三次握手,四次挥手。


  网络层:IP属于这一层,网络层的作用是确定数据传输的路线。根据IP搜索对方地址,并一边中转一边传送。IP地址指明了节点被分配的地址,MAC地址是网卡所属的固定地址,IP地址可以变,MAC一般不变。整个中转的过程像是送快递,用户把数据送到快递站,快递公司再送到一个个大型中转站。


  链路层:网络传输过程中的硬件部分。


  过程:客户端发出请求->应用层发送http请求报文->传输层建立TCP连接,将报文分成报文段->网络层根据请求的ip地址,进行处理并加上MAC地址后交给链路层->链路层将数据送到请求的ip地址->请求ip的服务器根据IP,TCP,HTTP对数据进行拼接等处理->服务器收到请求。


  3、DNS是什么?


  DNS是和http一样位于应用层的,用于解析域名,DNS提供通过域名查找IP地址或者IP地址反查域名的服务。


  4、URI和URL的区别


  URI是统一资源标识符,URL是统一资源定位符,URL是URI的子集。


  URI格式:名/方案名+登录信息(可选)+服务器地址(网址或ip)+端口号(可选)+文件路径+参数(可选)+片段标识符(可选,哈希值)


  两者区别就就是URL是确定了文件的路径,而URI只是的标识出文件,但是不一定是该文件的路径。


  5、什么是持久连接?


  如果一个请求就建立一次TCP连接,那么过程太费时间,资源,效率低下。所以,持久化连接就是三次握手建立TCP连接后,一直保持连接,直到四次挥手,才断开连接。


  6、什么是管线化?


  因为持久连接,所以不必等一个请求响应后再发起下一个请求,可以同时发送多个请求。大大节省了时间。


  7、cookie的诞生原因?


  http是无状态的,不会保存之前一切请求的报文信息,所以假设有一个网站需要登录,用户登录之后,在之后的访问过程中怎么保持登录状态,就成为一个问题。解决方法就是引入cookie技术。


  8、关于cookie的知识


  cookie是为了用户识别和状态管理,web网站为了管理用户状态,会把一些数据临时写入用户的计算机内,当用户访问该网站时,可取回之前存放的cookie。


  1)cookie是不可跨域的,每个域名下的cookie是单独保存的,不会混用。在一个页面下发送的请求,带的都是当前域名下的cookie。


  2)cookie的重要属性


  name:cookie的名字,同域名下name不能相同,否则会被覆盖


  value:cookie的值


  path:路由


  secure:打钩时,只会在https等安全下传输这个cookie


  HttpOnly:打钩时,则不能通过js获取,防止xss攻击


  Expires/Max-age:cookie有效期,当为session时,关闭浏览器(非页面)就会清除。


  若为过期时间,则到时间时浏览器自动删除。


  复制代码


  3)服务端一旦通过set-cookie将cookie存储到客户端,就没有方法可以直接删除,而只能通过覆盖的方式删除。


  9、状态码


  状态码分为5大类:


  1XX:信息状态类


  2XX:成功类


  3XX:重定向类


  4XX:客户端错误类


  5XX:服务端错误类


  复制代码


  不能完全相信状态码,有时候返回的状态码和实际情况是不一致的!!


  200:正常处理


  301:永久重定向,浏览器自动再次发送新的请求


  302:临时重定向,浏览器自动再次发送新的请求


  303:与302相似,但表示客户端应该采用get方法获取新的资源,浏览器自动再次发送新的请求


  304:附带条件未满足,和重定向没有关系,服务器可通过此状态码高速客户端,使用本地缓存


  403:服务端拒绝了请求,但没有给具体原因


  404:服务器上没有请求的资源


  500:服务器在执行的时候发生了错误


  503:服务器超负载或停机维护


  复制代码


  10、一台服务器多个域名,IP地址一样,怎么区分


  利用虚拟主机的技术,可以实现一台物理服务器上,部署多个域名,但是用DNS服务解析多个域名的时候,解析成的ip地址是一样的,那怎么区分请求的是哪个资源呢?


  利用请求头里的host字段来指定主机名或者是域名的URI,host一般只是发送域名,而referer则是完整的url地址,origin则是跨域的时候发送的。


  11、代理服务器


  代理服务器:接收客户端请求,转发给其他服务器,代理服务器根据两个维度,可分为缓存代理,非缓存代理。透明代理和非透明代理(对数据进行处理)。


  12、常用报文头部字段


  cache-control:控制缓存的行为


  connection:管理连接,keep-alive持久连接


  cookie:


  set-cookie:设置cookie


  referer:当前请求的原始页面


  cache-control:控制浏览器缓存


  Last-Modified:较后一次新时间


  if-Modified-Since


  Etag


  If-None-Match


  复制代码


  13、get和post的区别


  get和post是http中规定的,告知服务器意图的方法。使用get方法用来请求已被URI识别的资源,而post方法用来传输实体主体,但get请求也可以发送实体,post请求也可以在url上加参数。本质上,两者都是TCP连接,区别是get发送一次数据包,post发送两次数据包。


  在表面上,get和post的区别如下:


  1、关于传入参数的大小限制,http里没有规定,只不过是浏览器和服务器的约定俗称。


  2、关于传递参数的安全性,get请求的url是在服务器上有日志记录,在浏览器也能查到历史记录,但是post请求的参数都在body里面,服务器日志记录不到,浏览器历史也记录不到,所以相对来说安全些。


  3、get请求可以缓存,post请求不能缓存


 



课程列表 |教学环境 |机构简介 |学习资讯
机构地址:和平区卫津路佳怡国际
前端网络知识点总结 请咨询: 400-666-4820
免责声明 | 版权/投诉举报
汇上优课

微信选课
享更多优质好课!

本页面由主体*上海亿学网络科技有限公司*自行上传,本网不对该页面内容(包括但不限于文字、图片)真实性和知识产权负责,如有侵权请联系处理删除qq:16720809  。