http协议简析(一)
HTTP:hype-text transfer protocol,超文本传输协议,超文本(html)在网络间(电脑与电脑之间)传输过程中所遵循的一些规则。
两台电脑之间要实现数据传输的条件
1.两台电脑必须要互联(通过网线:TCP/IP)
2.数据的传输要遵循HTTP协议。(B/S结构的系统)
HTTP协议特点
支持客户/服务器模式:不限于b/s结构,凡是b/s结构都必须遵循HTTO协议
简单快速:只需请求方法和路径。如(http://www.fang.com/ask)其中http是请求方法
灵活【任意数据】:可以传输任意数据
无连接【每次连接只处理一个请求】:每次请求值会处理一次,返回一个结果,需要再获取其他数据就必须重新请求
无状态:服务器在处理两次请求的时候区分不出来是否两个请求来自同一个浏览器(所以存在session和cookie技术)
URL和URI的区别:
URL:统一资源定位,指的是通过http协议,以及服务器的所在域名加上对应文件的路径组成的一个网络绝对路径
例:http://www.fang.com/ask/daily.html
URI:uniformed resource identifier,统一资源标识,指的是一个文件在网站服务器相对网站根目录的路径
如:/ask/daily.html
当我们发送一个请求时都在了哪些事情呢?
1.找hosts文件,匹配ip地址,如果本地hosts文件匹配成功会返回对应的ip,如果失败了会去外网的DNS服务器去匹配IP地址
2.浏览器封装http请求协议
2.1协议封装的内容:
host:请求域名
请求文件
3.通过http协议传输请求,发给对应ip的电脑,web请求默认端口80,apache通过监听,获取请求,进行处理
4.apache封装http响应协议,并将数据交给客户端浏览器
5.浏览器拿到数据后解析http协议,解析内容,显示内容。
如图:
HTTP协议
http协议分为两个部分:http请求,http响应
http请求:
http请求分为四个部分:
请求行:包含三部分内容
请求方式:GET/POST
URI:要请求的文件路径
协议版本:HTTP/1.1
请求头:请求头就是一项一项的规范(协议的真正内容),一个内容占一行,常见如下:
host:所请求的主机地址
accept-encoding:可以接受的数据的编码,是什么流文件(文件内容)
referer:引用,指从哪个界面过来的(跳转过来)
connection:连接,在本次请求的过程中,直到服务器把数据全部交还给浏览器,两者之间一直保持连接状态
accept-language:浏览器可以接受的语言
cookie:浏览器携带提供给服务器的cookie数据(报存在浏览器cookie中的数据)
user-agent:浏览器信息
accept:浏览器可以接收服务器返回的数据类型
content-length(post):浏览器交给服务器的数据长度
if-modified-since(get):表示浏览器当前访问过某个界面,而进行再次访问,该时间是上次请求缓存文件的时间
content-type(post):提交的文件的类型
空行:用于区分请求头和请求体。
请求体:只有post提交数据的时候才会有信息
http协议简析(一)的更多相关文章
- DNS使用的是TCP协议还是UDP协议简析
DNS使用的是TCP协议还是UDP协议简析 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况 ...
- Https协议简析及中间人攻击原理
1.基础知识 1.1 对称加密算法 对称加密算法的特点是加密密钥和解密密钥是同一把密钥K,且加解密速度快,典型的对称加密算法有DES.AES等 ...
- HTTP协议--简析
HTTP--超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,是所有的www文件都必须遵守的标准. 要想成为优秀的web开发人员,必须熟悉H ...
- TCP 协议简析
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接.它是个超级麻烦的协议, ...
- mysql协议简析
前言 如果要在命令行中连接mysql,最常用的便是 mysql -u root -p 这样指定用户名和密码 当然还可以使用远程连接 mysql -h 127.0.0.1 -u root -p 还有一种 ...
- STUN协议简析
http://blog.csdn.net/mazidao2008/article/details/4934257 ——————————————————————————————————————————— ...
- HTTP协议简析(二)
HTTP响应也包含四部分内容: 响应行: 协议版本:HTTP/1.1 状态码:200 状态描述:对状态码的说明 响应头:用来规范数据,常用的有: server:服务器信息 date:响应的时间 las ...
- QUIC/HTTP3 协议简析
从 HTTP 的进化历史讲起,细说使用协议的变迁,了解原因发现问题,解码 QUIC 在 HTTP3 中的支撑作用,共同探讨 HTTP3 的未来. HTTP.HTTP2 和 HTTP3 先和大家来回顾一 ...
- DHCP协议简析
推荐这篇文章,原理及抓包都分析的很好: **推荐这篇文章,原理及抓包都分析的很好:** https://blog.csdn.net/andy_93/article/details/78238931 简 ...
随机推荐
- oracle之 调整 I/O 相关的等待
I/O相关竞争等待简介 当Oracle数据库出现I/O相关的竞争等待的时候,一般来说都会引起Oracle数据库的性能低下,发现数据库存在I/O相关的竞争等待一般可以通过以下的三种方法来查看Oracle ...
- python 有关引用的一些问题
python 有关引用的一些问题 print id.__doc__ id(object) -> integer Return the identity of an object. This ...
- 安装系统出现Winload.exe错误0xc000000e解决方法
有的用户在安装Win7/Win8/Win10操作系统后,重启时出现Windows 启动管理器错误,无法加载所选项,因为应用程序丢失或损坏的的故障,错误代码:0xc000000e,这是由于引导文件没有正 ...
- 读取设置config.ini配置
class CSenseIni { /************************************************************************/ /*写操作 * ...
- 执行npm install报错:npm ERR! code EINTEGRITY
命令行执行npm install报错如下: D:\frontend\viewsdev>npm install npm ERR! code EINTEGRITY npm ERR! sha512-8 ...
- Android Activity活动状态及生存周期
1.活动状态 每个活动在其生命周期中最多可能会有4中状态. (1)运行状态 当一个活动位于返回栈的栈顶时,此时活动就处于运行状态.系统不会回收处于运行状态的活动. (2)暂停状态 当一个活动不再处于栈 ...
- CArray,CList,CMap如何实例化
1.定义一个CMap,向这个CMap中增加数据项(键-值对).CMap<CString, LPCTSTR, CString, LPCTSTR>m_ItemMap;CString strKe ...
- java代码FileInputStream的复制粘贴练习
所有的输入输出流都是对于程序来说的,这个图是实现文件内容的复制粘贴功能的e 首先把文件读到哦程序里,然后把程序读出到文件l package com.a.b; //这个复制和粘贴-----------首 ...
- li布局问题
问题示意,好多网站一般都有这种布局,如 问题主要原因,第一个li没有margin-left 其余有(这里只考虑一排的情况) 第一种解决方式: <!DOCTYPE html> <htm ...
- 怎样优化CPU
大家写好的代码,在浏览器上运行,总会有怎样才能让他效率更高,不卡顿...等问题,就本人而言,我觉得是以下这几个导致CPU 过高 1.不要直接监听scroll,等到鼠标滚动停止的时候再去触发事件2.控制 ...