点击蓝字关注我

HTTP协议

HTTP协议

Hyper Text Transfer Protocol(超文本传输协议)

是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据,经典的HTTP是1.0版本,目前主流的HTTP是1.1版本,当然当前比较潮流的网络已经开始使用2.0版本的HTTP。

下面是一个URL

全称是UniformResourceLocator,中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。

http://www.baidu.com/s?wd=CCIE&ie=UTF-8

在上面这个URL中,可以简单分为下面几断:

1.HTTP叫Protocol,即协议,在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在"HTTP"后面的“//”为分隔符

2.www.baidu.com叫Host,客户端指定自己想访问的http服务器的域名/IP 地址和端口号。

3.s?wd=CCIE&ie=UTF-8叫URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源,其中在URI中,wd叫变量名,CCIE叫变量值,也就是搜索的资源。

下面我们通过实验简单来看看HTTP里面的Request请求包和Respond响应。

我已经在我局域网的一台Windows上安装好了WWW的服务(此处不赘述),主要是下面图片内容。

我通过本地浏览器做个测试,如下图:

另外我用GNS3模拟器里面的思科3640路由器桥接到笔记本本地物理网卡,方法如下:

设备连线,

配置R1可以访问我本地局域网网站:

使用R1对WWW网站进行访问测试:R1#telnet 192.168.1.111 80

上面是一个HTTP的响应消息。

可以看到当前是HTTP 1.1的版本,1.0版本的HTTP提供的是瞬时服务,1.1版本的HTTP可以维持TCP的会话,后面的400代表客户端有问题,无法访问(因为我使用路由器测试的,不是PC系统的浏览器)

下面的Content Type代表传递的信息是text的html网页,Server可以看到服务器的系统是微软2.0的版本,Connection可以看到会话已经关闭,Content-Length代表传递内容的长度。下面尖括号里面的内容就是具体的内容了。

另外我用我的PC对WWW网站进行访问测试,并且抓取本地网卡的TCP数据包:

下面我简单分析一下Wireshark抓包的结果。

上图为TCP三次握手的过程,第一个数据包TCP里面syn bit置1,代表这是一个192.168.1.200主动发起的连接。

上图是TCP三次握手建立成功之后

192.168.1.200主动发送的一个Request请求包,GET是HTTP的一个命令,用于获取资源。URI是/说明要查看的是目的主机的主页面。

Host,代表目的主机。

User-Agent:暴露了我的PC系统是Windows NT 10,x64的版本以及系统浏览器为火狐firefox。

Accept:代表请求的内容。

Connection:keep-alive,说明TCP会话目前一直在维持。

上图是针对TCP三次握手之后发起的第一个Request的响应消息,叫Response。

status Code:200,代表正常访问;

如果此处代码是300代表重定向;

如果此处代码是400代表客户端有问题,比如上面我使用路由器telnet host 的80端口就出现400错误;

如果是500代表服务器出现了问题,比如服务由于内存CPU被沾满暂时无法为客户提供服务等等。

抓包最下面Line-base text data代表具体的内容,如下图(当然是html的格式):

暂时说到这里。关于HTTP协议,其实内容量非常大,网页安全也是当前非常重要的内容。

扫码

加入课堂

每晚7:30

腾讯课堂 精彩开启

方便来自五湖四海的网络爱好者

共同讨(吹)论(牛)交(逗)流(趣)

热烈欢迎大家加入专属QQ群:

加入即可领取:

1、实用模拟器安装包

2、内部精选电子书籍

3、精品实用工程案例

特殊时期,自我充实

群内资料定期上传更有讲师全天技术答疑 

request url换成ip地址_【协议粗讲】TTP协议之URL,不能不知道的协议技术点相关推荐

  1. 使用Vue时localhost:8080中localhost换成ip地址后无法显示页面的问题

    页面显示: 解决办法是: 在package.json中然后重新启动服务器 npm run dev 就正常显示了.

  2. 怎么将ip地址改成域名访问_什么是域名解析?怎么把域名解析成IP地址?

    我们在域名注册机构买下一个域名后,怎么才能看到自己的网站内容,这时候域名解析就需要用到了.那么,什么是域名解析?怎么把域名解析成IP地址?下面小编来给大家详细的解答下. 我们在域名注册机构买下一个域名 ...

  3. Python——域名解析成IP地址

    一.说明 Python的Socket模块提供有域名转为对应IP地址的方法.本例中,将urllist.txt中的每行URL都试图解析成IP地址,保存到iplist.txt.需要注的是,socket.ge ...

  4. 捷克论坛最新ip地址_最新macOS破坏SSH默认规则,程序员无法登录Web服务器

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 苹果电脑最新的10.15.4系统,你更新了吗? 如果你不幸升级,而且还是要使用SSH的用户,那么恭喜你中招了. 最近,一位名叫Taylor ...

  5. nodejs部署的服务用localhost+端口可以访问,换成ip+端口就无法访问

    nodejs部署的服务用localhost+端口可以访问,换成ip+端口就无法访问 问题描述:最近用node js写了个接口服务,部署到服务器上,在服务器上通过localhost+端口就可以访问,但是 ...

  6. java 获取ip地址_老杜带你学Java【第二课】

    上期链接:老杜带你学Java[第一课] 01 写在前面 欢迎来到杜老师的「零基础学Java」课堂~今后,我们就是Java软件工程师了.(此处应该有掌声???)本专题为<零基础学Java>专 ...

  7. 网络DNS域名转换成IP地址

    网络DNS域名转换成IP地址(完整代码,测试通过) using System; using System.Collections.Generic; using System.Linq; using S ...

  8. springcloud2.0以上版本_eureka控制台显示_找不到${spring.cloud.client.ipAddress}_没有显示成IP地址---springcloud工作笔记165

    eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/eureka.instance.prefer-ip-address= ...

  9. java 不停的换ip地址_为什么电脑IP地址总是自动改变

    自己的IP会变化是因为自己或家庭使用的宽带不是专线,所以IP不是固定的.ADSL用户的IP地址都是通过DHCP动态获取得到的,意思是你每次拨号的时候,都会获得一个不同的IP地址,运营商这样做是为了提高 ...

最新文章

  1. Nature:揭示人大脑类器官为何缺乏正常人脑特有的细胞亚型和复杂回路
  2. DeviceEventEmitter 使用监听通知进行传值
  3. pack unpakc
  4. dbeaver 数据转化 mapping_Python机器学习实例:数据竞赛-足球运动员身价估计
  5. 步步为营:Asp.Net序列化Json格式的两种方法
  6. github流程图_逆天插件,VSCode里也能画流程图了?Visio可以淘汰了?
  7. APP下载页面(支持微信扫一扫)
  8. Linux基础—2.Linux中的文件基本命令以及四大远程连接工具XShell、FileZilla、Notepad++、Xmanager4的使用
  9. MinGW GCC 7.3.0 2018年1月25日 出炉啦
  10. D3D11 包围体碰撞检测
  11. Elasticsearch之中文分词器插件es-ik的自定义热更新词库
  12. win10 安装docker msi主板开启虚拟化
  13. 让IE6,IE7,IE8共存
  14. 计算机组装需要注意什么东西,电脑DIY:电脑组装时应该注意的几个细节以及方法...
  15. 海通证券否认获批试点 融资融券再度忽悠券商股
  16. FASTAPI接口服务
  17. 网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+
  18. 03前端第三章Javascript
  19. Study - Material Design 浅析
  20. ajax中Uncaught (in promise) TypeError: Failed to execute ‘setRequestHeader‘ on ‘XMLHttpRequest‘: Stri

热门文章

  1. Spring boot删除员工
  2. ifix从sqlserver里读数据_ifix连接SQL和读写EXCEL的方法
  3. ft2232驱动安装方法_关于Win10无法安装英伟达驱动的处理方法
  4. ipv6计算_移动云多款产品通过工信部IPv6支持能力技术测评
  5. excel数据输入模型前的转换
  6. 用Java实现天天酷跑(附源码),只能用牛逼来形容了!
  7. 禁止套娃!Redis官网宕机,返回“连接不上Redis”
  8. “面试不败计划”:面试题基础三
  9. Stream去除重复并求和
  10. 两个数组进行比较_LeetCode 718. 最长重复子数组 | Python