同源策略、http、tcp、报文协议 网络

填入网址之后进行工作请求页面过程

1.浏览器通过DNS域名解析到服务IP(ping www.baidu.com)

ping www.baidu.com

2.客户端(浏览器)通过TCP协议建立到服务器的TCP连接  (三次握手)

3.客户端(浏览器)向web服务器端(HTTP服务器)发送HTTP协议包,请求服务器里的资源文档 (telnet 模拟)

4.服务器向客户端发送HTTP协议应答包

5.客户端和服务器断开(四次挥手),客户端开始解释处理HTML文档

 

数据提交的几种方式

1、form表单提交数据 但是他是全局刷新  action指定提交地址 method指定提交方式

2、ajax 局部刷新

 

请求方方法  GET     POST  的区别 在http协议里实际上没有区别!  搞什么鬼?

常规理解: 1.GET 使用URL 或Cookie 传参,而POST将数据,放在BODY中。 ? NAME = ‘CST’&AGE=18

2.GET 的URL会有长度上的限制, POST可以传输很多数据。

3.POST比GET安全。 相对的安全 可以在请求主体中看到

4、get 多用于获取数据  post 传输数据

但其实HTTP协议里没有规定POST数据就要放在BODY里, 也没有要求GET数据就一定要放在URL中而不能放在BODY中。 HTTP协议对GET和POST 都没有对数据的长度进行限制,两方面原因造成数据限制的原因

1.早起浏览器会对URL长度进行限制(浏览器URL输入框)

2.浏览器会对Content-length进行限制,这是为了服务器安全和稳定。 安全问题呢,看你怎么想了,对于纯小白什么都是安全的,对于黑客什么都是不安全的

 

 

协议:http协议 https 协议

域名  端口 默认端口443 80端口

浏览器有一个很重要的概念——同源策略(Same-Origin Policy)。

所谓同源是指,域名,协议,端口相同。不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。

简单的来说,浏览器不允许包含在腾讯页面的脚本访问阿里巴巴页面的数据资源,会受到同源策略的限制

demo:本地访问百度资源

-----------

域名解析

域名是倒着解析的

.com 顶级域名

baidu.com (一)二级域名

zhidao.baidu.com  (二)三级域名

www 二级域名前缀  表示万维网维护的

www.baidu.com  属于特殊的三级域名

zhidao.baidu.com 属于 百度自己维护的网络地址

--------------

常见域名及其分类

com org net 属于顶级域名,是在全世界范围内解析的,

cn hk 是在一个地区解析的, 如cn 中国

.com (商业机构);

.net(从事互联网服务的机构);

.org (非赢利性组织);

.com.cn (国内商业机构);

.net.cn (国内互联网机构);

.org.cn (国内非赢利性组织);

dns 先根据顶级域名判断网络范围在根据域名查找主机ip地址

前缀就不管了,理论上www开头相当于占位用的 在国外一般不写www 国内风气就是写www

注意啊 写不写www不同源

-----------------

举例来说,http://www.example.com/dir/page.html

协议是http://

域名是www.example.com

端口是80(默认端口可以省略)

-------------------

 当你在浏览器里输入一个url发生了什么

1.浏览器通过DNS域名解析到服务IP(ping www.baidu.com)

2.客户端(浏览器)通过TCP协议建立到服务器的TCP连接  (三次握手)

3.客户端(浏览器)向web服务器端(HTTP服务器)发送HTTP协议包,请求服务器里的资源文档 (telnet 模拟)

4.服务器向客户端发送HTTP协议应答包 5.客户端和服务器断开(四次挥手),客户端开始解释处理HTML文档

-------------------------------

tcp协议 基于链接的传输控制协议

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。

三次握手

1.先Client端发送连接、请求报文。

2.Server端接受连接后回复ACK报文,并为这次连接分配资源。

3.Client端接收到ACK报文后也向Server端发送ACK报文,并分配资源,这样TCP连接就建立了。

四次挥手

1.Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭(Socket),可以继续发送数据。

2.server发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续等我的消息"。 wait:这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。

3.当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。

4.Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

 

(fin表示断开连接  ack表示响应)

 

udp 面向非链接的协议

“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。与手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

-------------------

应用层协议: http https等  (报文)

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。 上面的协议为了建立客户端与服务器端的连接,此协议为了让两者进行沟通。

为什么要有此协议呢,让计算机之间按照规矩说话,你问我答,你怎么问我怎么答,否则计算机各说各话,没办法沟通。 如何沟通呢?  让我们来了解一下http报文吧

http协议结构如下

http (请求报文,响应报文) 通过报文进行沟通

请求报文:

请求头   

 请求行 

包括请求方法  请求资源url  请求协议

请求主体   会放置请求数据post方式

响应报文:

响应头

协议  + 版本号  状态码 及其描述

响应行

响应主体

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值