学习一些前端原理总结

        2021.09.01 星期三

        今天学习接触了http协议。http协议就是一种语言,它是应用层里面的一个协议,是客户端和服务端进行通信的语言,基于TCP/IP协议簇来传递数据。之后我随便找一个网页,然后打开控制台,对其进行了查看。此外,TCP/IP的三次握手的详细内容是:

1、客户端先发送一个位码syn=1,随机产生seq number=1234567的数据包到服务器,服务器由SYN=1知道客户端要建立联机;(这就相当于提示我想要连接你)

2、服务器收到请求后确认联机信息,向A发送ack number=(客户端的seq+1),syn=1,ack=1,随机产生seq=7654321的包;(收到,你过来连吧)

3、客户端收到后检查ack number是否正确,以及ack是否为1,若正确,客户端会再次发送ack number(服务器的seq+1),ack=1,服务器收到后确认seq值与ack=1则连接建立成功。(好的,我来了)

http建立连接需要三次握手的原因是,三次是最少的安全次数,而四次握手没有必要;两次的话服务端只知道客户端具有发送信息的能力,加上第三次才可以知道客户端也具有接收数据的能力。还有一个原因是有时候网络拥堵的时候,客户端发送请求报文的时候不能够到达服务器端,但当网络畅通了,请求报文便会发送成功,服务端便会等待客户端传输数据,但时间长了之后客户端会以为自己没有发送报文,这会导致服务端的资源浪费

       之后自己建立了一个http服务器,来解析报文,自己去体会了一下。但node.js没有怎么接触过,所以有许多api都不熟悉,这里只是熟悉了一下如何建立一个http服务器。接下来还需要学习一下node.js。

        今天第一天刚去学了http协议的原理的时候感觉有一点抽象,但看了第二遍今天的内容之后,会有所好转,明天打算继续去学习http协议。

2021.09.02 星期四

       客户端和服务端建立连接之后,客户端会向服务端请求资源,发送请求报文,请求报文主要包含请求方法,请求路径等。之后服务端处理完请求之后,会向客户端返回一个响应报文,其中响应报文包含状态码,协议版本号,响应体等,其中不同的状态码表示的意思都会有所不同,https://www.cnblogs.com/dekui/p/7801289.html,该网站详细讲解了每个状态码所包含的意思,其中用的多的一些:2**表示成功(200:服务器成功返回网页),4**表示客户端错误(404:请求的网页不存在),5**表示服务端错误(服务器不可用)。

        HTTP中的长连接是指一次TCP连接允许多次HTTP会话,HTTP永远都是一次请求/响应,会话结束,而不是指HTTP是长连接。

        在关闭连接的时候有四次挥手是因为:TCP连接时全双工的,意思就是客户端可以给服务端发消息,服务端也可以给客户端发消息,当要关闭连接的时候,客户端会向服务端发送一个关闭连接的信息,服务端收到后,会发送给客户端一个确认信息,但此时只是客户端到服务端方向的连接断了,服务端到客户端的方向并没有断,所以还需要重新上述操作才可以真正关闭。

        但值得注意的是,当客户端向服务端的方向关闭连接的时候,服务端发送确认信息后不能直接关闭,需要等待一会,因为有时候会因为网络的原因,确认消息不能发送到客户端,此时客户端会重新向服务端发送关闭连接的信息,如果服务端不等待,直接关闭的话,客户端便不能够正常关闭了,服务端向客户端的方向也是如此。

2021.09.03 星期五

        今天主要学习了cookies的一些相关知识。cookies是用来存储一些数据的,客户端在coookies里面存储一些数据,然后请求的时候一起发送给服务器,之后每次请求需要携带信息的时候,cookies里存放的数据便有了用途。

        每个cookie有许多的属性。

 Name和vlaue在客户端通过如下形式来写一个cookie。

expires:用来设置该cookie在什么时间段之间有效,默认值为session,即关闭浏览器之后便失效。

 Domain和path:Domain是域名,path是路径,合起来表示哪些URL可以访问该cookie,注意的是(将上述举例),当域名为.csdn.net,或者是子域名mp.scdn.net的时候,且路径为/或者为组路径/login等,浏览器仍然会将cookie添加到请求的头部中去。

secure:代表cookie只能在确保安全的情况下才能发送,默认情况为空。

httpOnly:表示能否用js去访问,默认情况可以去访问,但如果是httpOnly类型的cookie,便不能通过document.cookie来访问。有的cookie可能问了安全起见会进行设置,防止收到攻击。

        其中客户端设置cookie是通过上述形式得来的,具体设置cookie:document.cookie="big=12; expires=Thu, 26 Feb 2116 11:50:25 GMT; path=/"。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值