前言

本文主要包括以下内容:

  1. HTTP是什么?
  2. HTTP 请求包括哪些部分?
  3. HTTP 响应包括哪些部分?
  4. 如何用Chrome开发者工具查看 HTTP 请求及请求的内容?
  5. 如何使用 curl 命令?

1  HTTP是什么?

  • HTTP 全称:HyperText Transfer Protocol,即超文本传输协议HTTP的作用。
  • HTTP 作用:指导浏览器和服务器之间进行沟通。

2  HTTP 请求包括哪些部分?

  • HTTP请求主要包括四部分(第四部分可以为空),主要格式如下:
    1. 1 动词 路径 协议/版本
    2. 2 Key1: value1
    3. 2 Key2: value2
    4. 2 Key3: value3
    5. 2 Content-Type: application/x-www-form-urlencoded
    6. 2 Host: www.baidu.com
    7. 2 User-Agent: curl/7.54.0
    8. 3
    9. 4 要上传的数据 

3  HTTP 响应包括哪些部分?

  • HTTP响应同样包括四部分,主要格式如下:
    1. 1 协议/版本号 状态码 状态解释
    2. 2 Key1: value1
    3. 2 Key2: value2
    4. 2 Content-Length: 17931
    5. 2 Content-Type: text/html
    6. 3
    7. 4 要下载的内容

4  如何用Chrome开发者工具查看 HTTP 请求及响应的内容?

  • 首先进入chrome浏览器,command+option+i 打开开发者页面。
  • 查看请求头部信息:打开一个网址,这里打开的是https://st.hujiang.com,按照下图选择,如果不能看到请求的内容,点击request hearders(橙色的线条位置)旁边的的view source即可看到请求头。
  • 查看响应头部信息:点击response hearders(蓝色的线条位置)旁边的的view source,即可看到响应头。
  • 查看响应的内容,点击Hearders 旁边的Preview即可,如下图:

5  如何使用 curl 命令?

  • 什么是curl:Curl是Linux下一个很强大的http命令行工具。
  • curl的基本用途:创造一个请求,并得到响应,主要如下图:
    1. curl -s -v -H "Nola: xxx" -- "https://www.baidu.com"
    2. 请求内容:
    3. GET / HTTP/1.1
    4. Host: www.baidu.com
    5. User-Agent: curl/7.54.
    6. Accept: */*
    7. Nola: xxx
    8.  
    9. curl -X POST -s -v -H "Nola: xxx" -- "https://www.baidu.com"
    10. 请求内容:
    11. POST / HTTP/1.1
    12. Host: www.baidu.com
    13. User-Agent: curl/7.54.0
    14. Accept: */*
    15. Nola: xxx
    16.  
    17. curl -X POST -d "" -s -v -H "Nola: xxx" -- "https://www.baidu.com"
    18. 请求内容:
    19. POST / HTTP/1.1
    20. Host: www.baidu.com
    21. User-Agent: curl/7.54.
    22. Accept: */*
    23. Nola: xxx
    24. Content-Length: 10
    25. Content-Type: application/x-www-form-urlencoded
    26.  
    27. 1234567890

HTTP的请求及响应的更多相关文章

  1. Django底层剖析之一次请求到响应的整个流程

    As we all know,所有的Web应用,其本质上其实就是一个socket服务端,而用户的浏览器就是一个socket客户端. #!/usr/bin/env python #coding:utf- ...

  2. 初入网络系列笔记(4)HTTP请求和响应

    一.借鉴说明,本博文借鉴以下博文 1.starok,HTTP必知必会,http://www.cnblogs.com/starstone/p/4890409.html 2.CareySon,HTTP协议 ...

  3. http协议(二)请求和响应报文的构成

    http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之 ...

  4. iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全

    一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新, ...

  5. struts2基础——请求与响应、获取web资源

    一.请求与响应 Action1.含义:(1) struts.xml 中的 action 元素,也指 from 表单的 action 属性,总之代表一个 struts2 请求.(2) 用于处理 Stru ...

  6. 浏览器-Tomcat服务器-请求与响应

    浏览器访问服务器,本质就是请求资源. 比如请求静态资源:index.html,我们在浏览器地址栏输入:www.a.com/index.html,浏览器为了支持HTTP协议,发送的数据必须符合HTTP协 ...

  7. 写一个ActionFilter检测WebApi接口请求和响应

    我们一般用日志记录每次Action的请求和响应,方便接口出错后排查,不过如果每个Action方法内都写操作日志太麻烦,而且客户端传递了错误JSON或XML,没法对应强类型参数,请求没法进入方法内, 把 ...

  8. AngularJS 用 Interceptors 来统一处理 HTTP 请求和响应

    Web 开发中,除了数据操作之外,最频繁的就是发起和处理各种 HTTP 请求了,加上 HTTP 请求又是异步的,如果在每个请求中来单独捕获各种常规错误,处理各类自定义错误,那将会有大量的功能类似的代码 ...

  9. Http请求与响应格式

    原文:http://www.cnblogs.com/z941030/p/4699779.html Http协议对浏览器发出的Request格式以及对Web服务器发出的Response格式有具体的规定. ...

  10. HeadFirst Jsp 04 (请求和响应作为servlet)

    servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...

随机推荐

  1. Linux 系列- 基本命令

    Linux 基本命令 转自:http://www.taobaotest.com/blogs/qa?bid=353 Linux是一个基于命令的系统,它有很多很强的命令. 但它也有桌面系统,比如KDE, ...

  2. BZOJ 3729 splay维护DFS序+博弈论

    思路: 这像是 阶梯Nim之类的东西 我们 直接把sg函数 设成mod(L+1)的 一棵子树 向下的奇数层上的石子xor起来 就是答案 有加点和改值的操作 就splay维护一下 //By Sirius ...

  3. python2 与 python3 语法区别--转

    原文地址:http://old.sebug.net/paper/books/dive-into-python3/porting-code-to-python-3-with-2to3.html 使用2t ...

  4. ORM框架——Dapper的应用

    常见的ORM框架有EF,Dapper,NHibernate 参考:http://shuai7boy.iteye.com/blog/2357339 http://www.cnblogs.com/Sint ...

  5. 初探MVC路由

    文章目录: 1.认识理解URL,以及简单的路由 2.特性路由.传统路由.区域路由 3.路由生成URL&&绑定到操作&&路由约束 1.认识理解URL,以及简单的路由  默 ...

  6. animate.css引入实现动画效果

    最近在网上看到很多代码都通过引入animate.css来实现动画效果,后来我便使用这种方法来尝试着写了个小案例,结果真的很好用,比我们通常情况下使用css或js实现动画效果好得多,便在此做个总结. 第 ...

  7. ViewPager滑动到最后一页再向左滑动进入主界面

    在OnPageChangeListener中的onPageScrolled方法里判断 @Override public void onPageScrolled(int arg0, float arg1 ...

  8. CF 689D - Friends and Subsequences

    689D - Friends and Subsequences 题意: 大致跟之前题目一样,用ST表维护a[]区间max,b[]区间min,找出多少对(l,r)使得maxa(l,r) == minb( ...

  9. JS优化代码

    JS代码的执行效率往往直接影响了页面的性能,有的时候,实现同样的功能,不同的JS代码往往在效率上相 差很多,有的时候仅仅是由于我们的书写习惯导致的,当然在高级点的浏览器中,它们大多都已经帮我们优化了, ...

  10. SASS概览

    1.安装: sass需要使用ruby,首先安装ruby,之后: gem install sass 编译: sass input.scss output.css 2.快速入门: 变量: .scss 变量 ...