GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据。

由于HTTP的规定和浏览器/服务器的限制,导致它们在应用过程中体现出一些不同。

操作 GET POST
后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
缓存 能被缓存 不能缓存
编码方式 只能进行url编码 支持多种编码方式
是否保留在浏览历史 参数保留在浏览器历史中 参数不会保存在浏览器历史中。
对数据长度的限制 发送数据,GET 方法向 URL 添加数据,但URL的长度是受限制的 无限制
对数据类型的限制 只允许 ASCII 字符 没有限制 也允许二进制数据
安全性 安全性较差,因为参数直接暴露在url中 因为参数不会被保存在浏览器历史或 web 服务器日志中
可见性 数据在 URL 中对所有人都是可见的 数据不会显示在 URL 中
传参方式 get参数通过url传递 post放在request body中

HTTP常见的头部
1、Accept:text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, image/apng, /; q=0.8
作用:向服务器申明客户端(浏览器)可以接受的媒体类型(MIME)的资源

解释:浏览器可以接受text/html、application/xhtml+xml、application/xml类型,通配符*/* 表示任意类型的数据。并且浏览器按照该顺序进行接收。( text/html —> application/xhtml+xml —> application/xml)

2、Accept-encoding: gzip, deflate, br

作用:向服务器申明客户端(浏览器)接收的编码方法,通常为压缩方法

解释:浏览器支持采用经过gzip,deflate 或 br 压缩过的资源

3、Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7

作用:向服务器申明客户端(浏览器)接收的语言

解释:浏览器能够接受en-US, en 和 zh-CN 三种语言,其中 en-US 的权重最高 ( q 最高为1,最低为 0),服务器优先返回 en-US 语言

延伸:语言与字符集的区别:zh-CN 为汉语,汉语中有许多的编码:gbk2312 等

4、Cache-control: max-age=0

作用:控制浏览器的缓存,常见值为private、no-cache、max-age、alidate,默认为 private,根据浏览器查看页面不同的方式来进行区别

解释:浏览器在访问了该页面后,不再会访问服务器

5、Cookie:

作用:告诉服务器关于Session 的信息,存储让服务器辨识用户身份的信息。

6、Refer:https://www.baidu.com/xxxxxxxxxx

作用:告诉服务器该页面从哪个页面链接的

解释:该页面从https://www.baidu.com 中的搜索结果中点击过来的

7、Upgrade-insecure-requests:1

作用:申明浏览器支持从http 请求自动升级为 https 请求,并且在以后发送请求的时候都使用 https

解释:当页面中包含大量的http 资源的时候(图片、iframe),如果服务器发现一旦存在上述的响应头的时候,会在加载 http 资源的时候自动替换为 https 请求

8、User-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

作用:向服务器发送浏览器的版本、系统、应用程序的信息。

解释:Chrome 浏览器的版本信息为 63.0.3239.132,并将自己伪装成 Safari,使用的是 WebKit 引擎,WebKit伪装成 KHTML,KHTML伪装成Gecko(伪装是为了接收那些为Mozilla、safari、gecko编写的界面)

延伸:可以随便填(但不应该随便填)不过一般用于统计。

9、X-Chrome-UMA-Enabled、X-Client-Data :与 Chrome 浏览器相关的数据

Response Headers

HTTP状态码
状态码,100-199表示请求已收到继续处理,200-299表示成功,300-399表示资源重定向,400-499表示客户端请求出错,500~599表示服务器端出错
200:响应成功

302:跳转,重定向

400:客户端有语法错误

403:服务器拒绝提供服务

404:请求资源不存在

500:服务器内部错误

socket编程和HTTP协议
由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致 Socket 连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。
而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。
HTTP请求报文

1、请求方法

GET:请求获取Request——URL所标识的资源

POST:在Request——URL所标识的资源后附加资源

HEAD:请求获取由Request——URL所标识的资源的响应消息报头

PUT:请求服务器存储一个资源,由Request——URL作为其标识

DELETE:请求服务器删除由Request——URL所标识的资源

TRACE:请求服务器回送收到的请求信息(用于测试和诊断)

CONNECT:保留

OPTIONS:请求查询服务器性能

2、URL

URI全名为Uniform Resource Indentifier(统一资源标识),用来唯一的标识一个资源,是一个通用的概念,URI由两个主要的子集URL和URN组成。URL全名为Uniform Resource Locator(统一资源定位),通过描述资源的位置来标识资源。URN全名为Uniform Resource Name(统一资源命名),通过资源的名字来标识资源,与其所处的位置无关,这样即使资源的位置发生变动,其URN也不会变化。

3、协议版本

格式为HTTP/主版本号.次版本号,常用为:HTTP/1.1 HTTP/1.0

4、请求头部

Host:接受请求的服务器地址,可以是IP或者是域名

User-Agent:发送请求的应用名称

Connection:指定与连接相关的属性,例如(Keep_Alive,长连接)

Accept-Charset:通知服务器端可以发送的编码格式

Accept-Encoding:通知服务器端可以发送的数据压缩格式

Accept-Language:通知服务器端可以发送的语言

HTTP响应报文

1、协议版本,同请求报文

2、状态码,100-199表示请求已收到继续处理,200-299表示成功,300-399表示资源重定向,400-499表示客户端请求出错,500~599表示服务器端出错

200:响应成功

302:跳转,重定向

400:客户端有语法错误

403:服务器拒绝提供服务

404:请求资源不存在

500:服务器内部错误

3、响应头部

Server:服务器应用软件的名称和版本

Content-Type:响应正文的类型

Content-Length:响应正文的长度

Content-Charset:响应正文所使用的编码

Content-Encoding:响应正文使用的数据压缩格式

Content-Language:响应正文使用的语言

长连接与短连接
在HTTP/1.0中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话。
从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头有加入这行代码:Connection:keep-alive

在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接要客户端和服务端都支持长连接。

http与https的区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全

【计算机网络】HTTP协议中post和get的区别相关推荐

  1. 浅析TCP协议中URG和PSH的区别与联系

    浅析TCP协议中URG和PSH的区别与联系.URG:(紧急标志位)表示本报文段中发送的数据是否包含紧急数据.URG=1时,表示有紧急数据.后面的16位紧急指针字段只有在URG=1时才有效. URG:( ...

  2. C#的HTTP协议中POST与GET的区别

    引言 HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态 ...

  3. HTTP协议中 GET 和 POST的区别(全)

    目录 前言 1. 源码探讨 2. 区别 前言 在了解这两个的区别的同时 还需要额外补充一些http协议中其他方法以此了解更加深入 方法 描述 GET 请求指定的页面信息,并返回实体主体 HEAD 类似 ...

  4. AHB协议中hreadyout和hready_in的区别

    AHB协议中slave的HREADYOUT和HREADYIN的区别 hreadyout:用于指示slave准备好接收master发过来的一笔传输: hreadyin:用于指示slave的上一笔传输是否 ...

  5. 【计算机网络】HTTP协议中Get与Post的区别

    Get和Post的区别 1.get是从服务器上获取数据,post是向服务器上传数据. 2.get是把参数数据列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,在URL中可以看 ...

  6. 【转】HTTP协议中PUT和POST使用区别

    有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源:有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源:还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一 ...

  7. 计算机网络 latency,网络中delay和latency的区别

    latency与delay是FPGA设计中常用到的两个概念. 1.概念区别: latency:等待:潜伏期:延迟.主要指时钟延迟,具体指的是输入数据与输出结果(该数据经过一系列处理之后的结果)之间的延 ...

  8. http协议中get和post的区别:

    参考:http://hui.sohu.com/infonews/article/6337670107929509889 参考:https://www.cnblogs.com/yueyueyao/p/9 ...

  9. http协议中get和post的区别(转)

    1.HTTP请求格式: <request line> <headers> <blank line> [<request-body>] 在HTTP请求中, ...

最新文章

  1. 在职计算机答辩没有通过,在职研究生论文答辩没通过可以重新申请吗?
  2. java包名命名规范[【转】
  3. Acwing第 4 场周赛【未完结】
  4. Linux之数组和关联数组
  5. 反射的妙用-类名方法名做参数进行方法调用实例demo
  6. 在windows命令行中查询MySQL乱码
  7. mysql排序自段为字符串类型问题解决
  8. 二叉搜索树(Binary Search Tree)(Java实现)
  9. 凝结芽孢杆菌行业调研报告 - 市场现状分析与发展前景预测
  10. PHP User Agent
  11. 如果有人私信,吾看到后都会及时回答
  12. 二维码扫码支付实现方案(仅供自己参考)
  13. windows家庭中文版升级至专业版
  14. 89C51最小系统典型应用
  15. getDerivedStateFromProps填坑
  16. 两道2016年美国高中数学竞赛题
  17. 百家讲坛全集免费下载
  18. 一个php+ajax的在线匿名聊天室,PHP任意环境都可用,无需复杂配置,移动端电脑端互通流畅,随时随地聊个痛快~
  19. Interfacing with Pixhawk using the NSH
  20. Abbirb120型工业机器人_工控产品-ABB IRB120工业机器人-IRB120

热门文章

  1. php spa结合,SPA最佳实践
  2. 《生物化学与分子生物学》----核酸----听课笔记(十二)
  3. 一个人越想赚钱,就越要改掉这3个习惯,否则注定穷一辈子
  4. Day15 --框架集合 Collection集合 和 List 集合
  5. 广东中学计算机课可教什么,广东中学教师资格证需要考哪几门课程
  6. Windows 7系统中的彩蛋“God Mode”
  7. 通用串行总线控制器显示感叹号
  8. RPG游戏经典的系统架构
  9. PyTorch基础-自定义数据集和数据加载器(2)
  10. Kafka知识体系总结【附大厂高频面试题】