HTTP 协议(2)
一、URL
HTTP 是一个基于 TCP 的应用层协议,其中 HTTP1.1 版本中支持持续的连接机制(Keep-alive),绝大多数的 WEB 开发都是基于 HTTP 的应用。
HTTP 的 URL 是一种特殊的 URI,URI 只是对某个资源的唯一标识,但不一定能通过 URI 找到该资源,而 URL 则包含了找到该资源的所有信息,即可以通过 URL 找到该资源所在位置。
URL 格式为:http://host[':'port][abs_path], 其中,http 代表要通过 HTTP 协议来定位网络资源;host 代表一个合法的域名或者 IP ;port 为该服务端口,通常是 80,abs_path 是所请求资源的 URI,如果 URL 中没有给出 abs_path,那么当它作为请求 URI 时必须以 / 的形式给出,通常浏览器会帮我们完成这个工作。
如:输入
www.baidu.com,浏览器会自动转换成http://www.baidu.com/。
二、HTTP 请求
请求报文:请求行、请求头、请求正文
1. 请求行
请求行格式:方法 + URI + 版本
方法(Method)

GET 与 POST 的区别:TODO
- GET:
- POST:
URI
URI 就是统一资源标识,是服务器上对某个资源的唯一标识。
版本(Version)
现在一般都用 HTTP/1.1 版本。
2. 请求头
请求头包含客户端在向服务器传递请求时携带的附加信息,包括客户端自身的信息。
请求头的内容如下:

3. 请求正文
对于 GET 请求,不需要请求正文;对于 POST 请求,需要将请求的内容携带在请求正文中,如请求多组图片时会将请求放在请求正文中。
三、HTTP 响应
HTTP 响应报文实际上和 HTTP 请求报文的结构类似,包含:状态行、响应头、响应正文。
1. 状态行
状态行格式:版本 + 状态码 + 说明
版本(Version)
现在一般都用 HTTP/1.1 版本。
状态码及说明

2. 响应头
除了状态行外,服务器还需携带对 Request-URI 所标识资源的下一步访问的信息和服务器自身的相关信息,这些信息都放在响应头中。
常见响应头

四、HTTP 报文交互实例
Request 报文

Response 报文

HTTP 协议(2)的更多相关文章
- HTTP协议系列(1)
一.为什么学习Http协议 首先明白我们为什么学习HTTP协议,也就是说明白HTTP协议的作用.HTTP协议是用于客户端与服务器之间的通讯.明白了HTTP协议的作用也就知道了为什么要学习H ...
- 重温Http协议--请求报文和响应报文
http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...
- 协议森林17 我和你的悄悄话 (SSL/TLS协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...
- 协议森林16 小美的桌号(DHCP协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...
- 简约之美Jodd-http--深入源码理解http协议
Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架.简单,却很强大! jodd-http是一个轻巧的HTTP客户端.现在我们以一个简单的示例从源码层看看是如何实现的? Http ...
- 【JavaScript】javascript中伪协议(javascript:)使用探讨
javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javasc ...
- SNMP简单网络管理协议
声明:以下内容是学习谌玺老师视频整理出来(http://edu.51cto.com/course/course_id-861.html) SNMP(Simple Network Management ...
- 海鑫智圣:物联网漫谈之MQTT协议
什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端 ...
- linux-图形化远程管理协议
远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程 ...
- RTP与RTCP协议介绍(转载)
RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...
随机推荐
- spring引入properties变量报错
通过properties配置文件配置数据源,代码如下: <bean class="org.springframework.beans.factory.config.PropertyPl ...
- shiro实战系列(四)之配置
Shiro之配置 Shiro 被设计成能够在任何环境下工作,从最简单的命令行应用程序到最大的的企业群集应用.由于环境的多样性,使得许多配置机制适用于它的配置. 一. 许多配置选项 Shiro的Secu ...
- java读写properties配置文件不改变属性的顺序和注释
先贴代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java ...
- python3 raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbid
1.分析: 如果用 urllib.request.urlopen 方式打开一个URL,服务器端只会收到一个单纯的对于该页面访问的请求,但是服务器并不知道发送这个请求使用的浏览器,操作系统,硬件平台等信 ...
- iOS11 Xcode 9 按住command 单击 恢复到从前(直接跳转到定义)
iOS11 Xcode 9 按住command 单击 恢复到从前(直接跳转到定义) 2017年9月20日,苹果如期推送 Xcode 9 和 iOS 11的更新. Xcode 9正式版与之前bet ...
- NYOJ 35 表达式求值
一个模板了 哈哈. 这题由于已经包括了整形.浮点形了,以后也不须要特别处理了. /* 这里主要是逆波兰式的实现,使用两个stack 这里用字符串来模拟一个stack,第一步,将中缀表达式转变为后缀表达 ...
- 【Nodejs】Browsersync同步浏览器测试
说明文档:http://www.browsersync.cn/docs/ 安装命令: ①全局安装 npm install -g browser-sync ②局部/本地安装 npm install br ...
- Java面试题,Java三大特性之一——多态的理解
首先我们知道Java是一门面向对象的语言 面向对象三大特性,封装.继承.多态. 封装.继承.多态 ↓ 无论是学习路线,还是众人的口语习惯,都是按照这个这样进行排序,这是有原因的.因为封装好了才能继承, ...
- Luogu P1196 [NOI2002]银河英雄传说
一年没写博客了(滑稽). 这道题很玄学,导致自己都有一个坑人的问题求解.如果有大佬有能力求帮助:https://www.luogu.org/discuss/show?postid=30231 再来讲一 ...
- 总结 : C#事件理解
要理解事件,首先必须理解委托!! 1.如果说委托是一个类型,那么事件就是一个对象! 2.事件的创建必须是借助某个委托类型来完成的! 3.也就是说,委托是事件的类型,事件本身是个对象!! 4.所以,事件 ...