header信息表示的意义

客户端浏览器请求Header(HTTP request header)

  • Host 请求的域名
  • User-Agent 浏览器端浏览器型号和版本
  • Accept 可接受的内容类型
  • Accept-Language 语言
  • Accept-Encoding 可接受的压缩类型 gzip,deflate
  • Accept-Charset 可接受的内容编码 UTF-8,*

服务器端的响应Header(response header)

  • Date 服务器端时间
  • Server 服务器端的服务器软件 Apache/2.2.6
  • Etag 文件标识符
  • Content-Encoding传送启用了GZIP压缩 gzip
  • Content-Length 内容长度
  • Content-Type 内容类型

Content-Type 内容类型 分为三种:

application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式。

multipart/form-data 数据被编码为一条消息,页上的每个控件对应消息中的一个部分

text/plain: 数据以纯文本形式(text/json/html)进行编码,不含任何控件或格式字符。

当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串追加到url后面,用?分割,加载这个新的url。

当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 但是如果有type=file的话,就要用到multipart/form-data了。

当action为post且Content-Type类型是multipart/form-data,浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。

json格式的一些坑:

不能用$_REQUEST接收

返回的json格式用$data=file_get_contents('php://input');接收

http的状态码:

1xx   表示收到web浏览器请求 正在进一步处理

2xx 成功,表示用户请求被成功接收

3xx   重定向

4xx 客户端错误  找不到你所要请求的文件等 如404

5xx 服务器错误 表示服务器不能对请求做出处理 如500

Header请求的几种方式相关推荐

  1. curl 发送 POST 请求的四种方式

    使用 curl 发送 POST 请求的四种方式: application/x-www-form-urlencoded 使用实例 $ curl localhost:3000/api/basic -X P ...

  2. 接收Http请求的几种方式

    最近在开发过程中,遇到了我们公司的几个老项目,采用的是传统单体项目,这种项目之间需要交互,项目A请求项目B,B将结果回调给A,我们采用了Http Post请求的方式,在接收Http请求的时候,遇到了不 ...

  3. Java 实现 HTTP 请求的三种方式

    除了本文推荐的几种方式,强烈推荐 OkHttp 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较 ...

  4. java实现HTTP请求的三种方式

    From: https://www.cnblogs.com/hhhshct/p/8523697.html 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的 ...

  5. nginx负载均衡分发请求的几种方式

    nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个. nginx的upstre ...

  6. java发送http get请求的两种方式

    长话短说,废话不说 一.第一种方式,通过HttpClient方式,代码如下: public static String httpGet(String url, String charset)throw ...

  7. 探讨Netty获取并检查Websocket握手请求的两种方式

    在使用Netty开发Websocket服务时,通常需要解析来自客户端请求的URL.Headers等等相关内容,并做相关检查或处理.本文将讨论两种实现方法. 方法一:基于HandshakeComplet ...

  8. 减少HTTP请求的四种方式

    由于HTTP1.1协议规定请求只能串行发送,也就是说一百个请求必须一次逐个发送,前面的一个请求完成才能发送下一个请求. 所以我们在开发的时候应该尽量减少HTTP请求,如下有4种方式: 1.使用图片地图 ...

  9. JavaScript实现同步Ajax请求的两种方式

    JavaScript的Ajax请求默认是异步的,有以下两种方式能让Ajax请求变成同步 方式一 使用ES7的Async和Await async function main(){const env = ...

最新文章

  1. 【问题帖】压缩图片大小至指定Kb以下
  2. 2017年本博客知识体系引导(更新至2017.8.11)
  3. Leetcode-322. 零钱兑换个人答案与官方答案的一个对比(以及对测试用例的思考)
  4. 安装mysql无法登录_【windows 下安装 mysql-server 无法登录问题解决】
  5. Android设备 D获取,如何获取Android设备名称(常用ADB命令介绍)
  6. 企业价值链与价值评价体系:88页华为绩效管理与绩效考核
  7. android7.0 netd与netlink的framework,kernel通信流程
  8. 微信小程序python选择题_微信小程序头脑风暴2答题辅助
  9. 微信公众号网页分享设置及问题
  10. Java程序员工资为什么越来越高?
  11. NetCore游戏服务器GeekServer
  12. 桌面便签软件哪个比较好 好用的手机桌面便签软件推荐
  13. Doctrine 查询语法
  14. 台式计算机能分享热点吗,如何在电脑上开热点 台式电脑开热点的方法有哪些...
  15. C# 串口接收的优化处理
  16. Unity 获取UI中不同容器里的相对坐标
  17. ZN-61A网络型PLC可编程控制器实训装置
  18. Numpy学习之——numpy.mean中axis参数用法
  19. Ubuntu server 14.04 启用root用户并设置密码
  20. DBeaver Enterprise 7.1 企业版注册方法

热门文章

  1. LED透明屏逐点校正技术组成四大部分
  2. ES6之for...of和for...in
  3. VS2017工程总是很大?如何删除VS2017工程一些中间文件
  4. 树莓派3B+ 串口使用大全(实现串口通信功能)
  5. word替换使用通配符_在Word 2016中搜索时如何使用通配符
  6. 新浪微博技术架构分析和设计
  7. 设为首页和收藏网站代码(火狐,IE6.ie7.ie8.ie9都可用)
  8. class4 二叉树(左程云左神算法 初级笔记 2018)
  9. windows 2008系统激活文件的备份与恢复
  10. 1327:【例7.6】黑白棋子的移动——分治