博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP协议
阅读量:6937 次
发布时间:2019-06-27

本文共 1004 字,大约阅读时间需要 3 分钟。

HTTP协议的主要特点

  1. 支持客户/服务器模式。
  2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  3. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  4. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  5. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP报文的组成部分

  • 请求报文
  • 响应报文

HTTP方法

GET 告知服务器,需要从服务器向客户端发送命名资源

HEAD 仅发送命名资源响应中的HTTP首部

PUT 将客户端的数据存储的命名的服务器资源中

POST 将客户端数据发送到一个服务器应用程序

TRACE 追溯一个请求

OPTIONS 查看服务器对资源支持的操作

DELETE 从服务器删除资源

GET和POST的区别

  • get参数通过url传递,post放在request body中。

  • get请求在url中传递的参数是有长度限制的,而post没有。

  • get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。

  • get请求只能进行url编码,而post支持多种编码方式

  • get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留。

状态码

类别 原因短语
1xx Informational(信息性状态码) 接收的请求正在处理
2xx Success(成功状态码) 请求正常处理完毕
3xx Redirection(重定向状态码) 需要进行附加操作以完成请求
4xx Client Error(客户端错误状态码) 服务器无法处理请求
5xx Server Error(服务器错误状态码) 服务器处理请求出错

HTTP管线化

定义:客户端可以发送多次请求到服务端,而不需要等待上一次请求得到响应的时候才能进行下一次请求。实现并行发送请求

仅有http1.1规范支持http管线化,1.0并不支持.

转载地址:http://ifbnl.baihongyu.com/

你可能感兴趣的文章
mysql主从延迟
查看>>
不在让你为你写代码头疼的链接页代码
查看>>
Vmware clone后,linux无法上网
查看>>
NetSuite crm国内合作商来讲讲NetSuite常见问题
查看>>
我的友情链接
查看>>
【原创】MySQL 实现Oracle或者PostgreSQL的row_number over 这样的排名语法
查看>>
Golang面试题解析(五)
查看>>
shell 输出100个+方法总结
查看>>
我的友情链接
查看>>
在启动kubernets的时候报错
查看>>
hive通过其它用户连接后执行语句提示没有hdfs系统目录权限
查看>>
ubuntu 配置网卡,DNS, iptables
查看>>
RT-Thread--内核基础
查看>>
BZOJ1434:[ZJOI2009]染色游戏(博弈论)
查看>>
[Python] Hermite 插值
查看>>
带头节点的单链表的插入操作优化
查看>>
winSockets编程(七)WSAAsyncSelect模式
查看>>
Huffman Codes
查看>>
求一棵二叉树的镜像
查看>>
Principal Component Analysis(PCA) algorithm summary
查看>>