0

0

前端,HTT,计算机与网络

php中世界最好的语言

php中世界最好的语言

发布时间:2018-05-25 11:52:21

|

3187人浏览过

|

来源于php中文网

原创

这次给大家带来前端,htt,计算机与网络,前端,htt,计算机与网络的注意事项有哪些,下面就是实战案例,一起来看一下。

全端工程师需知道的计算机网络知识

一、网络篇—http报文详解

1. 分类

  1. 请求报文

  2. 响应报文

2. 报文结构

(一)、请求报文

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成;
  1. 请求行

  • 由请求方法字段、URL字段和HTTP协议字段3个字段组成,它们由空格分隔;

    立即学习前端免费学习笔记(深入)”;

  • 例如,GET /index.html HTTP/1.1。

  • HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

  1. 请求头部

  • 请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。

  • 请求头部通知服务器有关于客户端请求的信息;

  • 常用的请求头:

  1. Accept 设置接受的内容类型Accept: text/plain;

  2. Accept-Charset 设置接受的字符编码:Accept-Charset: utf-8;

  3. Accept-Encoding 设置接受的编码格式:Accept-Encoding: gzip, deflate;

  4. Accept-Language 设置接受的语言:Accept-Language: en-US;

  5. Cache-Control 设置请求响应链上所有的缓存机制必须遵守的指令:Cache-Control: no-cache;

  6. Connection 设置当前连接和hop-by-hop协议请求字段列表的控制选项:Connection: keep-alive;

  7. Content-Length 设置请求体的字节长度:Content-Length: 348;

  8. Content-Type 设置请求体的MIME类型(适用POST和PUT请求):Content-Type: application/x-www-form-urlencoded;

  9. Cookie 设置服务器使用Set-Cookie发送的http cookie:Cookie: $Version=1; Skin=new;;

  10. Host 设置服务器域名和TCP端口号,如果使用的是服务请求标准端口号,端口号可以省略:Host: en.wikipedia.org:8080;

  11. Origin 标识跨域资源请求(请求服务端设置Access-Control-Allow-Origin响应字段):Origin: http://www.example-social-network.com;

  12. Expires 设置响应体的过期时间:Expires: Thu, 01 Dec 1994 16:00:00 GMT;

  13. ETag 特定版本资源的标识符,通常是消息摘要:ETag: "737060cd8c284d8af7ad3082f209582d";

  14. Last-Modified 设置请求对象最后一次的修改日期:Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT;

  1. 空行

  • 最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。

  1. 请求主体(数据)

  • 请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。

(二)、响应报文

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行、响应正文。
  1. 在响应中唯一真正的区别在于第一行中用状态信息代替了请求信息。状态行(status line)通过提供一个状态码来说明所请求的资源情况。

  2. 状态行

  • 格式:服务器HTTP协议的版本 响应状态代码 状态代码的文本描述;

  • 状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:

    • 1xx:指示信息--表示请求已接收,继续处理。

    • 2xx:成功--表示请求已被成功接收、理解、接受。

    • 3xx:重定向--要完成请求必须进行更进一步的操作。

    • 4xx:客户端错误--请求有语法错误或请求无法实现。

    • 5xx:服务器端错误--服务器未能实现合法的请求。

  • 常见状态代码:

    • 200 OK :表示请求成功 一切正常

    • 301 Moved Permanently:重定向,客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL

    • 302 Found:临时重定向,类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。

    • 304 Not Modified:客户端有缓冲的文档并发出了一个条件性的请求。服务器告诉客户,原来缓冲的文档还可以继续使用。

    • 400 Bad Request:请求出现语法错误。

    • 403 Forbidden:资源不可用。

    • 404 Not Found:无法找到指定位置的资源。

    • 405 Method Not Allowed:请求方法(GET、POST、HEAD、Delete、PUT、TRACE等)对指定的资源不适用。

    • 500 Internal Server Error:服务器遇到了意料不到的情况,不能完成客户的请求。

    • 501 Not Implemented:服务器不支持实现请求所需要的功能

(三)、关于请求post和get的区别

  1. GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头<request-line>中);

  2. POST提交:把提交的数据放置在是HTTP包的包体<request-body>中;

    行盟APP1.0 php版
    行盟APP1.0 php版

    行盟APP是结合了通信和互联网的优势,加之云计算所拥有的强大信息资源,借助广大的终端传递服务,潜在的拥有巨大商机。她到底是什么,又有什么作用?她是一款手机应用软件;她是一款专门为企业服务的手机应用软件;她是一款能够将企业各种信息放入其中并进行推广传播的手机应用软件!只要轻轻一点,企业的简介,产品信息以及其他优势就能最快最大限度的透过手机展现在客户的眼前,一部手机,一个APP,你面对的将是一个6亿&

    下载
  3. 传输数据的大小:

  • HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。

  • 而在实际开发中存在的限制主要有:

    • GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。因此对于GET提交时,传输数据就会受到URL长度的限制。

    • POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。

4.安全性:

  • POST的安全性要比GET的安全性高。

  • 通过GET提交数据,用户名和密码将明文出现在URL上,因为

  • (1)登录页面有可能被浏览器缓存,

  • (2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了

(四)、http和https

1. HTTP和HTTPS

  • HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS

  • 默认HTTP的端口号为80,HTTPS的端口号为443

2. 为什么HTTPS安全

  • 因为网络请求需要中间有很多的服务器路由器的转发。中间的节点都可能篡改信息,而如果使用HTTPS,密钥在你和终点站才有。https之所以比http安全,是因为他利用ssl/tls协议传输。它包含证书,卸载,流量转发,负载均衡,页面适配,浏览器适配,refer传递等。保障了传输过程的安全性

3. 关于Http 2.0

  • HTTP/2引入了“服务端推(server push)”的概念,它允许服务端在客户端需要数据之前就主动地将数据发送到客户端缓存中,从而提高性能。

  • HTTP/2提供更多的加密支持

  • HTTP/2使用多路技术,允许多个消息在一个连接上同时交差。

  • 它增加了头压缩(header compression),因此即使非常小的请求,其请求和响应的header都只会占用很小比例的带宽

4. http缺点:

  • 通信使用明文不加密,内容可能被窃取;

  • 不验证通信方身份,可能遭到伪装;

  • 无法验证报文完整性,可能被篡改。

https是加上加密处理(一般是SSL安全通信线路)+认证+完整性保护

5. HTTP/2 与 HTTP/1.x 的关键区别

  • 二进制协议代替文本协议,更加简洁高效

  • 针对每个域只使用一个多路复用的连接

  • 压缩头部信息减小开销

  • 允许服务器主动推送应答到客户端的缓存中

(五)、http状态码

 简单版
    [
        100  Continue   继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
        200  OK         正常返回信息
        201  Created    请求成功并且服务器创建了新的资源
        202  Accepted   服务器已接受请求,但尚未处理
        301  Moved Permanently  请求的网页已永久移动到新位置。
        302 Found       临时性重定向。
        303 See Other   临时性重定向,且总是使用 GET 请求新的 URI。
        304  Not Modified 自从上次请求后,请求的网页未修改过。

        400 Bad Request  服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
        401 Unauthorized 请求未授权。
        403 Forbidden   禁止访问。
        404 Not Found   找不到如何与 URI 相匹配的资源。

        500 Internal Server Error  最常见的服务器端错误。
        503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。
    ]

二、网络——其他

1. 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好)
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么

2. 说说网络分层里七层模型是哪七层

  • 应用层:应用层、表示层、会话层(从上往下)(HTTP、FTP、SMTP、DNS)

  • 传输层(TCP和UDP)

  • 网络层(IP)

  • 物理和数据链路层(以太网)

  • 每一层的作用如下:

  • 物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)数据链路层:将比特组装成帧和点到点的传递(帧Frame)

    • 网络层:负责数据包从源到宿的传递和网际互连(包PackeT)

    • 传输层:提供端到端的可靠报文传递和错误恢复(段Segment)

    • 会话层:建立、管理和终止会话(会话协议数据单元SPDU)

    • 表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)

    • 应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

3. 304缓存的原理

  • 服务器首先产生ETag,服务器可在稍后使用它来判断页面是否已经被修改。本质上,客户端通过将该记号传回服务器要求服务器验证其(客户端)缓存

  • 304是HTTP状态码,服务器用来标识这个文件没修改,不返回内容,浏览器在接收到个状态码后,会使用浏览器已缓存的文件

  • 客户端请求一个页面(A)。 服务器返回页面A,并在给A加上一个ETag。 客户端展现该页面,并将页面连同ETag一起缓存。 客户再次请求页面A,并将上次请求时服务器返回的ETag一起传递给服务器。 服务器检查该ETag,并判断出该页面自上次客户端请求之后还未被修改,直接返回响应304(未修改——Not Modified)和一个空的响应体

  • 认识更多--浏览器缓存篇

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Oday提权批量拿取商城服务器root权限步奏详解

在HTML中使用JS方法总结

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

16

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

23

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

75

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

95

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

218

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

420

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

168

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

222

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

33

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

R 教程
R 教程

共45课时 | 7.8万人学习

SQL 教程
SQL 教程

共61课时 | 4.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号