计算机网络Web前端之路让前端飞

关于http和https还有跨域问题与JSONP

2017-06-18  本文已影响2666人  二璇妹妹

上一篇说道,构成url的第一个部分就是协议部分,现在就来说说协议吧😊

强行卖萌

URL和URI

URI:统一资源标识符
作用:用于标识某一互联网资源名称的字符串。
URL:统一资源定位符
作用:标识资源的地点。
URL其实是URI的子集


还是先想一个问题~~

在浏览器输出了一个URL之后,都发生了什么事情?

1.浏览器通过DNS把域名解析到服务IP
2.客户端通过TCP协议建立到服务器的TCP连接。
三次握手四次挥手
3.客户端(浏览器)向web服务端(HTTP服务器)发送HTTP协议包,请求服务器里面的资源文档。
4.服务器向客户端发送HTTP协议应答包。
5.客户端和服务器断开,客户端开始解释处理HTML文档。

上边那几句话可能有很多你不了解的名词,那么就一一说一下吧😊

🍉UDP:用户数据报协议
面向非连接,就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。与手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。


HTTP请求方法

上一篇我们说到了,Ajax口可以通过GET或POST方法提交数据,http请求不只有这两个。

HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
DELETE 请求服务器删除指定的页面
OPTIONS 允许客户端查看服务器的性能
TRACE 回显服务器收到的请求,主要用于测试或诊断

HTTP状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

响应类别
1xx 接受的请求正在处理
2xx 正确处理请求完毕
3xx 重定向,需要附加操作才能完成请求
4xx 客户端错误--请求有语法错误或请求无法实现
5xx 服务器端错误--服务器未能实现合法的请求

常见状态码

105    //DNS解析失败
200    //请求被正常处理
301    //永久重定向
302    //临时重定向
303    //请求的资源存在另一个URL,由于用了get请求
304    //(未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
400    //报文中有语法错误
403    //服务器收到请求,但是拒绝提供服务
404    //服务器上没有该资源
500    //服务器发生不可预期的错误
503    //服务器超负载了,正在维护

HTTP请求报文

HTTP响应报文


跨域问题

Ajax也是通过url来获取数据,同样也会受到同源策略的限制。

以下几个方法可以实现跨域

1.Flash。

这个方法是很久以前使用的,现在不用做考虑。

2.服务器代理中转。

服务器不会受到同源策略的限制。

3.🍉🍉jsonp🍉🍉

原理:

4.iframe+document.domain。
5.iframe+location.hash。
6.iframe+window.name。
7.HTML5 postMessage方法。

otherWindow.postMessage(message, targetOrigin);

上一篇 下一篇

猜你喜欢

热点阅读