简单介绍 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开启硬件加速的使用和坑
Aug 21 HTML / CSS
CSS3教程(2):网页边框半径和网页圆角
Apr 02 HTML / CSS
css3中新增的样式使用示例附效果图
Aug 19 HTML / CSS
css3 实现元素弧线运动的示例代码
Apr 24 HTML / CSS
html5使用canvas实现图片下载功能的示例代码
Aug 26 HTML / CSS
HTML5之web workers_动力节点Java学院整理
Jul 17 HTML / CSS
【HTML5】Canvas绘制简单图片教程
May 13 HTML / CSS
移动端Html5页面生成图片解决方案
Aug 07 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
Mar 18 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
Mar 31 HTML / CSS
CSS3实现360度循环旋转功能
Feb 12 HTML / CSS
分享CSS盒子模型隐藏的几种方式
Feb 28 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
Mar 31 #HTML / CSS
Web前端:CSS最强总结 附详细代码
血轮眼轮回眼特效 html+css
css3 filter属性的使用简介
Mar 31 #HTML / CSS
使用canvas实现雪花飘动效果的示例代码
利用html+css实现菜单栏缓慢下拉效果的示例代码
You might like
关于php mvc开发模式的感想
2011/06/28 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
destoon各类调用汇总
2014/06/20 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
PHP实现递归的三种方法
2020/07/04 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
使用python+whoosh实现全文检索
2019/12/09 Python
Python如何在DataFrame增加数值
2020/02/14 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
会计系中文个人求职信
2013/12/24 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
个性发展自我评价
2014/02/11 职场文书
写给老婆的检讨书
2014/02/21 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
大学共青团员个人自我评价
2014/04/16 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
公务员个人考察材料
2014/12/23 职场文书
教师见习总结范文
2015/06/23 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android