上海网站设计优刻,郑州 公司网站制作,免费推广原因,app界面生成器目录 1、HTTP是什么
2、HTTP请求与响应
3、HTTP请求的两种方法(get和post)及区别 (面试题)
4、几种常见的错误的说法
5、HTTP协议的特点
6、应用场景
7、HTTP报文格式
8、面试题#xff1a;HTTP常见的状态码都有哪些#xff1f; 1、HTTP是什么
HTTP协议是在Web上进行…目录 1、HTTP是什么
2、HTTP请求与响应
3、HTTP请求的两种方法(get和post)及区别 (面试题)
4、几种常见的错误的说法
5、HTTP协议的特点
6、应用场景
7、HTTP报文格式
8、面试题HTTP常见的状态码都有哪些 1、HTTP是什么
HTTP协议是在Web上进行数据交换的基础是一种“客户端-服务器端”B/S 架构协议。作用于应用层。HTTP是一个基于TCP/IP通信协议来传递数据HTML 文件, 图片文件, 查询结果等。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP 是一个简单的请求/响应协议通常运行在 TCPTransmission Control Protocol 的简称是一种面向连接的、可靠的、基于字节流的传输层通信协议之上。HTTP 协议指定了客户端能够发送什么样的消息给服务端以及服务端要做出怎样的响应。服务器会默认监听 TCP 协议的 80 端口当然后期您也可以修改为其它端口。
HTTP 协议为计算机之间的通信提供了一种标准和规范它规定了
如何构造客户端的请求数据也称报文如何将请求数据发送到服务器服务器端如何响应客户端的请求。 2、HTTP请求与响应
客户端和服务端通过交换各自的消息与数据流正好相反进行交互。
由像浏览器这样的客户端发出的消息叫做请求( requests )被服务端回应的消息叫做响应( responses) 3、HTTP请求的两种方法(get和post)及区别 (面试题)
区别其实本质上没有太大区别但非要说个区别如下
get请求一般用来请求获取数据post请求一般作为发送数据到后台传递数据创建数据。例如登录上传等。get请求也可以传参到后台但是传递的参数则显示在地址栏安全性低且参数的长度也有限制2048字符post请求则是将传递的参数放在request body中不会在地址栏显示安全性比get请求高参数没有长度限制get请求刷新浏览器或者回退没有影响post请求则会重新请求一遍get请求可以被缓存也会保留在浏览器的历史记录中post请求不会被缓存也不好保留在浏览器的历史记录中get请求通常是通过url地址请求post常见的则是form表单请求get产生一个tcp数据包post产生两个tcp数据包get产生的URL地址可以被Bookmark而post不可以get请求会被浏览器主动cache(缓存)而post不会除非手动设置对参数的数据类型get只接受ASCII字符而post没有限制。get比post更不安全因为参数直接暴露在URL上所以不能用来传递敏感信息。GET 和 POST都是http请求方式 底层都是 TCP/IP协议通常GET 产生一个 TCP 数据包POST 产生两个 TCP 数据包但firefox是发送一个数据包对于 GET 方式的请求浏览器会把 http header 和 data 一并发送出去服务器响应 200返回数据表示成功而对于 POST浏览器先发送 header服务器响应 100 浏览器再继续发送 data服务器响应 200 返回数据。
4、几种常见的错误的说法
1.get请求能传递的数据量有限post传递的数据量没有上限。
但是标准文档中并没有明确规定URL有多长。
2.get请求数据不安全post请求数据更安全。
依据是若使用get实现登录操作用户名和密码会暴露在URL中也就是地址栏里。人们可以看到。而使用post操作则是把用户名和密码放在body中不会在地址栏里显示。但其实这种说法也是有问题的所谓的安全是是指不容易被黑客获取或者是获取之后不容易被破解。
3.get只能给服务器传输文本数据post可以给服务器传输文本和二进制数据。
get也是可以传输二进制数据的。
4.get请求是幂等的post请求不是幂等的。
这里的幂等指的是输入相同的内容输出是稳定的。这种说不也不完全对。 5、HTTP协议的特点
1) 简单快速
HTTP 协议支持客户端、服务器端模式简单快速当客户端向服务器端发送请求时只需要传送请求方法和路径即可常用的请求方法有 GET、HEAD、POST 等每种方法都定义了客户端与服务器之间不同的信息交换方式。
2) 灵活
HTTP 允许传输任意类型的数据对象包括音频、视频、图片、文本等等。
3) 无连接
HTTP 是无连接的当服务器接受到来自客户端的请求后会按顺序依次处理这些请求处理完成一个就关闭一个然后开始处理下一个请求。无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求并收到客户端的应答后随即断开连接采用这种方式可以节省传输时间。
4) 无状态
HTTP 协议是无状态协议无状态是指协议对于信息的处理没有记忆能力。也就是说来自同一个客户端的多个请求之间没有上下文关系每次的请求都是独立的一次请求的执行情况和结果与它前面的请求或后面的请求没有直接关系。服务器中并不会保存客户端的状态也就意味着如果后续处理中需要用到前面的信息那么您就需要将它重新发送到服务端这样可能会导致每次连接传送的数据量增大。但从另一方面来讲如果服务器不需要先前信息时它的响应就会比较快。 6、应用场景
1网页和后台服务器的交互。
2app和后台服务器的交互。 7、HTTP报文格式
HTTP报文又称为HTTP消息是服务器和客户端之间交换数据的方式。有两种类型的消息︰请求由客户端发送用来触发一个服务器上的动作;响应来自服务器的应答。
7.1 请求
请求报文由以下元素组成:一个HTTP的method、要获取的资源的路径、HTTP协议版本号、为服务端表达其他信息的可选头部headers以及对于一些像POST这样的方法。具体格式如下 首行方法 URL 版本号请求头(header)键值对形式空行正文(body) 接下来主要说说请求里的响应header。
Host : 表示服务器主机的地址和端口。
Content-Length : 表示body中的数据长度前提是请求里有body。
Content-Type表示请求的body中的数据格式前提是请求里有body。
User-Agent描述了使用啥设备上网(操作系统版本及浏览器版本)可以去区分是PC端还是手机端。
Referer表示当前页面是从那个页面跳转过来的。
通常情况下get请求没有bodypost请求有body。 为什么要有空行和Content-Length
目的是为了解决粘包问题。因为HTTP也是基于TCP的TCP是以字节为单位传输的传过去之后接收方数据包都紧挨在一起接收方也识别不出哪到哪是body这样就需要用空行来区分body再用content-Length来区分body中数据的长度。 7.2 响应
响应报文由以下元素组成:HTTP协议版本号、一个状态码、一个状态信息、HTTPheaders以及包含获取的资原body。 首行版本号 状态码 状态码信息响应头(header)键值对形式空行正文(body) Content-Type的作用
返回此次响应的数据格式。
请求有jsonform表单的格式from-data的格式。
响应有htmlcssjsjson图片text等数据格式。 8、面试题HTTP常见的状态码都有哪些
状态码服务器的响应表示了这次请求对应的响应是啥样的状态。
2开头的表示成功其中200最常见。3开头的表示重定向比如我访问某个网址他就会让我访问另一个网址并在响应报文中携带这个新的网址。4开头的是请求有误比如网址输入错误等其中404表示访问资源在服务器上不存在。403表示访问没有权限。5开头的是服务器出错。