HTTP协议

 ̄綄美尐妖づ 提交于 2020-02-02 06:38:45

HTTP协议

HTTP协议是web浏览器与web服务器之间通信的标准协议,HTTP协议指定客户端与服务器如何建立连接,客户端如何从服务器请求数据,服务器如何响应数据,最后如何关闭连接。HTTP协议使用TCP/IP协议进行传输数据。

客户端到服务器请求有四个步骤

1、客户端在端口80上与服务器链接,URL还可以指定其他端口。
2、客户端向浏览器发送请求,请求格式:请求行、请求报头、空行、请求正文。
3、服务器向客户端发送响应,相应格式:状态行、响应报头、空行、响应正文。
4、服务器关闭链接。
注意:HTTP1.1版本以后,通过一个TCP链接可以发送多个请求和响应。
在这里插入图片描述
客户端请求
在这里插入图片描述
服务器响应
在这里插入图片描述

HTTP状态码

在这里插入图片描述
在这里插入图片描述

HTTP的请求方法

在这里插入图片描述
常用的方法GET和POST方法,它们的区别:
1、传送方式:get通过地址栏传输,post通过报文传输。
2、传送长度:get参数有长度限制(受限于url长度),而post无限制
3、GET和POST还有一个重大区别,简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包。
4、post比get安全

session 和cookie

HTTP协议本身是无状态的。即服务器无法识别用户身份。Cookie实际上是key-value格式的文本信息。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器发送一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。
在这里插入图片描述
当访问服务器网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session,而这个内存是跟浏览器关联在一起的。这个浏览器指的是浏览器窗口,只允许当前这个session对应的浏览器访问,就算是在同一个机器上新启的浏览器也是无法访问的。而另外一个浏览器也需要记录session的话,就会再启一个属于自己的session
在这里插入图片描述
Cookie和session的区别
1、Cookie以文本文件格式存储在浏览器中,而session存储在服务端。
2、因为每次发起 Http 请求,都要携带有效Cookie信息,所以Cookie一般都有大小限制,以防止增加网络压力,一般不超过4k。
3、可以轻松访问cookie值但是我们无法轻松访问会话值,因此session方案更安全。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!