前端实习生面试题(四 )--跨域和HTTP

目录

1. 一个页面从输入url到页面加载显示完成,这个过程中都发生了什么

2. 线程和进程的区别

3. 为什么会存在跨域问题

4. 跨域请求资源的方法

5. http方法

6. HTTP协议的主要特点及组成

7. HTTP和HTTPS

8. HTTP状态码

9. 三次握手 四次挥手

10. TCP和UDP的区别

11. get和post的区别

12.  Ajax有关

13. cookie的弊端

14. localStorage,sessionStorage区别


1. 一个页面从输入url到页面加载显示完成,这个过程中都发生了什么

 (1)当发送一个URL请求时,浏览器会开启响应的一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询,找到对应的ip地址

(2)浏览器与远程web服务器通过TCP三次握手来建立一个TCP/IP连接。

(3)一旦建立连接,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源后并使用HTTP响应返回该资源。

2. 线程和进程的区别

首先

进程:是执行中的一段程序,一旦一段程序被载入到内存中并准备执行,它就是一个进程

   线程:单个进程中的每个任务就是一个线程。

一个线程只能属于一个进程,但是一个进程可以有多个线程

3. 为什么会存在跨域问题

因为浏览器中的同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。

4.跨域请求资源的方法

(1)如果浏览器支持Access-Control-Allow-Origin,就在被请求的Response header中加入

// 指定允许其他域名访问  

header('Access-Control-Allow-Origin:*');  

// 响应类型  

header('Access-Control-Allow-Methods:POST');  

// 响应头设置  

header('Access-Control-Allow-Headers:x-requested-with,content-type');

(2)如果浏览器不支持,就通过Nginx反向代理,满足浏览器的同源(源是由URL,主机名,端口号组成)策略实现跨域

(3)通过jsonp来解决跨域,但是只能发GET请求-

通过在文档中嵌入一个

你可能感兴趣的:(前端实习生面试题(四 )--跨域和HTTP)