简单介绍 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属性box-sizing使用指南
Dec 09 HTML / CSS
CSS3的calc()做响应模式布局的实现方法
Sep 06 HTML / CSS
CSS3的颜色渐变效果的示例代码
Sep 29 HTML / CSS
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
Oct 29 HTML / CSS
HTML5实现Notification API桌面通知功能
Mar 02 HTML / CSS
HTML5标签小集
Aug 02 HTML / CSS
HTML5新特性之type=file文件上传功能
Feb 02 HTML / CSS
HTML5之消息通知的使用(Web Notification)
Oct 30 HTML / CSS
将SVG图引入到HTML页面的实现
Sep 20 HTML / CSS
webView加载html图片遇到的问题解决
Oct 08 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
Mar 17 HTML / CSS
使用CSS实现音波加载效果
May 07 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
Mar 31 #HTML / CSS
Web前端:CSS最强总结 附详细代码
血轮眼轮回眼特效 html+css
css3 filter属性的使用简介
Mar 31 #HTML / CSS
使用canvas实现雪花飘动效果的示例代码
利用html+css实现菜单栏缓慢下拉效果的示例代码
You might like
php 静态页面中显示动态内容
2009/08/14 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
Move.js入门
2017/02/08 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
微信小程序tabbar底部导航
2018/11/05 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
Python Web框架Tornado运行和部署
2020/10/19 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
Python的缺点和劣势分析
2019/11/19 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
一些Unix笔试题和面试题
2012/09/25 面试题
医生实习工作总结的自我评价
2013/09/27 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
2014年工程工作总结
2014/11/25 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
趣味运动会简讯
2015/07/20 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android