博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端之本http协议
阅读量:7069 次
发布时间:2019-06-28

本文共 3972 字,大约阅读时间需要 13 分钟。

我们新建一个python文件编写以上内容,然后同目录下编写一个index.html,内容如下

 

我们运行python 文件,文件 就会把index.html 发送给127.0.0.1:8080,然我们浏览器打开,就会发现

浏览器的地址下的页面出现了hello,world.

本质上,浏览器和服务器就是服务器和客户端的模式

cs模式    client------server基于TCP协议  (UDP协议)socket与TCP协议的关系-----socket是对TCP协议,UDP协议的封装web服务标准的cs模式--------bs模式GET /favicon.ico HTTP/1.1Host: 127.0.0.1:8080Connection: keep-aliveUser-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36Accept: */*Referer: http://127.0.0.1:8080/Accept-Encoding: gzip, deflate, sdch, brAccept-Language: zh-CN,zh;q=0.8Cookie: sessionid=e0ci3j4mwkg8itrtr5so824raj8wilfk;

 

Http协议:一 请求协议  (浏览器------>server)    url: www.baidu.com?a=1       (1)请求首行  GET /favicon.ico HTTP/1.1   (2)请求头信息            Host: 127.0.0.1:8080        Connection: keep-alive        User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36        Accept: text/html        Accept-Encoding: gzip, deflate, sdch, br        Accept-Language: zh-CN,zh;q=0.8                Referer: http://127.0.0.1:8080/            Cookie: sessionid=e0ci3j4mwkg8itrtr5so824raj8wilfk; csrftoken=0nNXMorXRmbll9pDD1mEWAlUmqPLPDOMvY5zQvRawcbXyuiuSaYtTGkzQUB5XfPF    (3) 空行   (4)请求体(请求数据)----------------get请求体不存在        二 响应协议(server-----------》浏览器)        响应首行;   HTTP/1.1 200 OK          响应头信息;        空行;        响应体。
cs 模式  服务端客户端关系基于TCP协议(udp)socket与tcp协议的关系socket是对tcp/udp的封装bs模式浏览器本身就是客户端http:属于应用层,基于ip+tcp/udp请求协议:浏览器发往服务器关键字竞价排名,点击进入网站,根据用户点击地址完成一次完整的排名计价。盗链与反盗链:资源在别的地方,但是点击量集中在自己网站,做自己的广告。就可以查看Referer,如果不对,转到其他页面            或者转入自己的网站,必须在我自己网站上使用资源,才能下载。请求首行;  // 请求方式,请求路径,协议和版本,例如:GET /index.html HTTP/1.1请求头信息;// 请求头名称:请求头内容,即为字典key:value格式,例如:Host:localhost            Host:127.0.0.1:8000            Connection:keep-alive  保持连接状态            User-Agent:Mozilla/5.0  用户代理一般为浏览器            Accept:text/html        支持类型            Accept-Encoding:gzip,br 支持编码            Accept-Language:zh-CN,zh可接受语言            Rerferer:http://127.0.0.1:8080  进入的入口地址            Cookie:浏览器字典格式,存储密码等,保存状态空行;     // 用来与请求体分隔开请求体。   // GET没有请求体,只有POST有请求体。get:url+参数  访问网址是get,提交默认get一般使用post为了安全post:当地址栏太长参数不够用的时候,用post安全,大小无限制HTTP默认的请求方法就是GET     * 没有请求体     * 数据必须在1K之内!     * GET请求数据会暴露在浏览器的地址栏中GET请求常用的操作:       1. 在浏览器的地址栏中直接给出URL,那么就一定是GET请求       2. 点击页面上的超链接也一定是GET请求       3. 提交表单时,表单默认使用GET请求,但可以设置为POSTPOST:(1). 数据不会出现在地址栏中(2). 数据的大小没有上限(3). 有请求体(4). 请求体中如果存在中文,会使用URL编码!?(1)连接作用:连接页面地址和参数(2)清除缓存:不调用缓存的内容,而认为是一个新地址,重新读取&响应协议:服务器发往浏览器响应首行:HTTP/1.1 200 OK:响应协议为HTTP1.1,状态码为200,表示请求成功,OK是对状态码的解释;响应头信息:        Server:WSGIServer/0.2 CPython/3.5.2:服务器的版本信息;        Content-Type: text/html;charset=UTF-8:响应体使用的编码为UTF-8;        Content-Length: 724:响应体为724字节;        Set-Cookie: JSESSIONID=C97E2B4C55553EAB46079A4F263435A4; Path=/hello:响应给客户端的Cookie;        Date: Wed, 25 Sep 2012 04:15:03 GMT:响应的时间,这可能会有8小时的时区差;        Request URL:http://127.0.0.1:8090/login/        Request Method:GET        Status Code:200 OK        Remote Address:127.0.0.1:8090        Response Headers        view source        Content-Type:text/html; charset=utf-8        Date:Wed, 26 Oct 2016 06:48:50 GMT        Server:WSGIServer/0.2 CPython/3.5.2空行:分隔响应头和响应体响应体:                                    
Title
用户名:
apache nginx:解析http状态码:200成功 302 重定向 需要重发请求500以上基本都是服务器错误200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;404:请求的资源没有找到,说明[客户端错误]的请求了不存在的资源;302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;304: 重定向,Last-Modified 存储服务器端修改的时间,如果是上次修改时间说明没变,就直接才能从缓存中取出来500:请求资源找到了,但服务器内部出现了错误;其他响应头:告诉浏览器不要缓存的响应头:Expires: -1;Cache-Control: no-cache;Pragma: no-cache;自动刷新响应头,浏览器会在3秒之后请求http://www.baidu.com:Refresh: 3;url=http://www.baidu.comHTML中指定响应头在HTMl页面中可以使用
来指定响应头,例如在index.html页面中给出
,表示浏览器只会显示index.html页面3秒,然后自动跳转到http://www.baidu.com.

 

转载于:https://www.cnblogs.com/adamans/articles/6873990.html

你可能感兴趣的文章
Webpack入门教程六
查看>>
编译原理:正规式转变成DFA算法
查看>>
MongoDB数据库的MapReduce简单操作(转)
查看>>
cisco图标
查看>>
java获取类的信息
查看>>
Hibernate5-进阶添加工具类,对获取Session的方法封装
查看>>
通过内存映射文件来颠倒文本内容(暂没有处理Unicode和换行符)
查看>>
Debian软件包信息查询
查看>>
天猫物流提速背后:大数据加速颠覆传统零售业
查看>>
网页优化十大策略
查看>>
为每一个table单元格设置不同的背景颜色
查看>>
盘点智能硬件中那些脑洞大开的黑科技
查看>>
[HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
查看>>
maven pom.xml详解
查看>>
活动目录数据库文件介绍
查看>>
Linux下配置tomcat+apr+native应对高并发
查看>>
html5播放mp4视频代码
查看>>
孟子>正文 活动目录(Active Directory)域故障解决实例(转载)
查看>>
NoSuchMethodError: org.hibernate.SessionFactory.openSession
查看>>
textarea自动调整高宽
查看>>