简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl


Posted in HTML / CSS onMarch 31, 2021

http请求与响应报文

请求和响应报文都有三部分,起始行,首部,主体。

请求报文:

GET /test/1.txt HTTP/1.1    //起始行 :GET是请求方法,/test/1.txt是文件目录, HTTP/1.1是版本号

Host:www.baidu.com

Accept:text/html, image/gif, image/jpeg

Accept-language: en     //首部  一般是名称:值的形式;依次是域名,请求的文件格式、语言(文件格式是MIME格式)

一般没有主体,如果有,就空一行然后写主体部分

响应报文:

HTTP/1.1 200 OK         //起始行 :版本号,状态码

Content-type: text/html, image/gif, image/jpeg    

Content-length: 19        //首部 ,返回文件格式,长度等

<html>...</html>//  主体部分,与上边空行

无状态无连接

无状态:服务器不知道客户端是什么状态,每个请求都是独立的。

无连接:服务器处理完客户的请求,并收到客户的应答后,就断开连接。

http请求方法

我们向服务器发起请求,有的是要发给服务器文件,有的是访问文件,这就是不同的请求方法,上边我们的例子是GET方法,就是从服务器获取资源,还有其它常用的方法:

简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl

MIME

前边的text/html, image/gif, image/jpeg 就是MIME类型的文本标记,与http数据包一起传输,用来方便浏览器处理。我们发起请求的时候可能不是从一个服务器上获取所有文件,可能某些图片、视频要来自其它网站服务器。可以在浏览器中按F12,然后点击网络,来看自己当前服务器的请求及状态。

状态码

每条 HTTP 响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码, 告知客户端请求是否成功,或者是否需要采取其他动作。常见状态码:

简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl

web端口

web服务器有很多服务,端口号区分服务器不同的服务。我们发送请求后服务器根据端口号把请求输送到不同的端口进行响应。web服务器默认端口是80,平时我们直接访问浏览器就是默认80端口。

telnet协议

是远程登陆协议,我们打开telnet功能后,可以通过telnet远程登陆访问,类似客户端,默认端口是23

如下输入:

telnet www.baidu.com

简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl//就会失败,可能没开23端口

但是输入:

telnet www.baidu.com 80就可以,因为80端口一定开放

简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl

成功了就是这个界面,然后点击ctrl+】开启回显,再点击enter

就可以进行编辑了,输入请求头了,如:

GET/1.html HTTP/1.1

Host:www.baidu.com

这只是随便输的,假设baidu的http版本是1.1,而且根目录有一个文件叫1.html,就会收到服务器返回的数据

curl

curl是linux系统下访问网站的命令,mac系统自带curl,但是windows下没有,就需要我们自己下载安装,具体见别人的文章,比较简单,安装好后就可以在cmd中使用了。

如:

curl www.baidu.com可以获取baidu的html,但是会乱码。

简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl

解决方案一:

在输入命令前先输入chcp 65001然后enter,再输入命令就可以:

简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl

方案2:

安装iconv,在输入指令转码。直接输入:

curl www.baidu.com -i | iconv -f utf-8 -t gbk

域名有www与没有www区别

网站如qq.com设置好域名之后,为了更好的处理服务,就设置了子域名www.qq.com、mail.qq.com

只是为了区分服务做的子域名,所以不必纠结。

HTML / CSS 相关文章推荐
CSS3实现跳动的动画效果
Sep 12 HTML / CSS
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
Nov 29 HTML / CSS
css3实现的下拉菜单效果示例
Jan 22 HTML / CSS
CSS3制作酷炫的条纹背景
Nov 09 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
Jan 21 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
Jul 19 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
Apr 09 HTML / CSS
html svg生成环形进度条的实现方法
Sep 23 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
Nov 18 HTML / CSS
AmazeUI 按钮交互的实现示例
Aug 24 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
Nov 19 HTML / CSS
POST提交数据常见的四种方式
Jan 18 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
Mar 31 #HTML / CSS
Web前端:CSS最强总结 附详细代码
血轮眼轮回眼特效 html+css
css3 filter属性的使用简介
Mar 31 #HTML / CSS
使用canvas实现雪花飘动效果的示例代码
利用html+css实现菜单栏缓慢下拉效果的示例代码
You might like
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
javascript常见操作汇总
2014/09/03 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python内置模块logging用法实例分析
2018/02/12 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
python中get和post有什么区别
2020/06/19 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
高级运动鞋:GREATS
2019/07/19 全球购物
Java程序员常见面试题
2015/07/16 面试题
大学应届毕业生个人求职信
2013/09/23 职场文书
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
中层干部竞争上岗演讲稿
2014/01/13 职场文书
啤酒节策划方案
2014/05/28 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
公司领导班子对照材料
2014/08/18 职场文书
领导干部保密承诺书
2014/08/30 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
幼儿园感谢信
2015/01/21 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书