HTTP的请求及响应
前言
本文主要包括以下内容:
- HTTP是什么?
- HTTP 请求包括哪些部分?
- HTTP 响应包括哪些部分?
- 如何用Chrome开发者工具查看 HTTP 请求及请求的内容?
- 如何使用 curl 命令?
1 HTTP是什么?
- HTTP 全称:HyperText Transfer Protocol,即超文本传输协议HTTP的作用。
- HTTP 作用:指导浏览器和服务器之间进行沟通。
2 HTTP 请求包括哪些部分?
- HTTP请求主要包括四部分(第四部分可以为空),主要格式如下:
1 动词 路径 协议/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据
3 HTTP 响应包括哪些部分?
- HTTP响应同样包括四部分,主要格式如下:
1 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
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的基本用途:创造一个请求,并得到响应,主要如下图:
curl -s -v -H "Nola: xxx" -- "https://www.baidu.com"
请求内容:
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.
Accept: */*
Nola: xxx curl -X POST -s -v -H "Nola: xxx" -- "https://www.baidu.com"
请求内容:
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Nola: xxx curl -X POST -d "" -s -v -H "Nola: xxx" -- "https://www.baidu.com"
请求内容:
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.
Accept: */*
Nola: xxx
Content-Length: 10
Content-Type: application/x-www-form-urlencoded 1234567890
HTTP的请求及响应的更多相关文章
- Django底层剖析之一次请求到响应的整个流程
As we all know,所有的Web应用,其本质上其实就是一个socket服务端,而用户的浏览器就是一个socket客户端. #!/usr/bin/env python #coding:utf- ...
- 初入网络系列笔记(4)HTTP请求和响应
一.借鉴说明,本博文借鉴以下博文 1.starok,HTTP必知必会,http://www.cnblogs.com/starstone/p/4890409.html 2.CareySon,HTTP协议 ...
- http协议(二)请求和响应报文的构成
http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之 ...
- iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全
一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新, ...
- struts2基础——请求与响应、获取web资源
一.请求与响应 Action1.含义:(1) struts.xml 中的 action 元素,也指 from 表单的 action 属性,总之代表一个 struts2 请求.(2) 用于处理 Stru ...
- 浏览器-Tomcat服务器-请求与响应
浏览器访问服务器,本质就是请求资源. 比如请求静态资源:index.html,我们在浏览器地址栏输入:www.a.com/index.html,浏览器为了支持HTTP协议,发送的数据必须符合HTTP协 ...
- 写一个ActionFilter检测WebApi接口请求和响应
我们一般用日志记录每次Action的请求和响应,方便接口出错后排查,不过如果每个Action方法内都写操作日志太麻烦,而且客户端传递了错误JSON或XML,没法对应强类型参数,请求没法进入方法内, 把 ...
- AngularJS 用 Interceptors 来统一处理 HTTP 请求和响应
Web 开发中,除了数据操作之外,最频繁的就是发起和处理各种 HTTP 请求了,加上 HTTP 请求又是异步的,如果在每个请求中来单独捕获各种常规错误,处理各类自定义错误,那将会有大量的功能类似的代码 ...
- Http请求与响应格式
原文:http://www.cnblogs.com/z941030/p/4699779.html Http协议对浏览器发出的Request格式以及对Web服务器发出的Response格式有具体的规定. ...
- HeadFirst Jsp 04 (请求和响应作为servlet)
servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...
随机推荐
- Android Fragment RecycleListView
1.新建SuperActivity package com.example.ting.criminalintentpractise; import android.os.Bundle;import a ...
- SQLSERVER 链接服务器执行存储过程
1.创建链接服务器 exec sp_addlinkedserver 'server_tmp','','SQLOLEDB','192.168.1.1' -- server_tmp 为别名 exec sp ...
- Hybrid混合开发中schema协议的使用与封装
混合开发中JS与APP通信的实现原理: JS通过schema协议,传递参数和全局回调函数给APP端 APP执行完(如微信扫一扫)后,调用协议中传入的回调函数,在前端执行回调处理. 默认写法: < ...
- 2017.7.15清北夏令营精英班Day1解题报告
成绩: 预计分数:20+10+40 实际分数:100+10+40. 一百三十多人的比赛全场rand7还水了个鼠标+键盘 unbelievable! 考试题目链接: https://www.luogu. ...
- ibatiS启动的异常 The content of elements must consist of well-formed character data or markup
ibatiS启动的异常 The content of elements must consist of well-formed character data or markup 配置的动态SQL语句里 ...
- Grand Central Dispatch-thread pool pattern
Grand Central Dispatch (GCD) is a technology developed by Apple Inc. to optimize application support ...
- MySQL查询结果保存到本地
#!/bin/bash mysql -h<公网IP> -P<端口号> -u<用户名> -p<密码> -D<指定数据库> >/Users ...
- [置顶]
谷歌大牛 Jeff Dean 是如何成为互联网战神的
谷歌大牛 Jeff Dean 是如何成为互联网战神的 原文链接: Will Oremus 翻译: 伯乐在线- Lex Lian 译文链接: http://blog.jobbole.com/4772 ...
- BZOJ 3282 Link Cut Tree (LCT)
题目大意:维护一个森林,支持边的断,连,修改某个点的权值,求树链所有点点权的异或和 洛谷P3690传送门 搞了一个下午终于明白了LCT的原理 #include <cstdio> #incl ...
- laydate 监听日期切换
```` //日期范围 laydate.render({ elem: '#Time', range: "至", max: gitData() ,done: function(val ...